Задача
Дана матрица A размером 50 на 50, на главной диагонали элементы равны 200 , на 2-ой наддиагонали элементы равны 30, на 25-ой надддиагонали элементы равны 40. вектор b задаётся формулой bi=i*n+n, где n=50.Нужно решить систему Ax=b методом простой иттерации.Метод заключается в том, что мы приводим систему к виду Xk=B*Xk-1+c.Я написал программу но она не выдаёт мне результат, я пробовал её отлаживать и мне кажется матрица B не умножается на Xk-1, а Xk каждый раз присвается значение вектора с.Помогите, не знаю в чём проблема?

вот текст программы:

procedure TForm1.Button1Click(Sender: TObject);
var
A: array [1..50,1..50] of double;
b: array [1..50] of double;
x: array [1..50] of double;
B1: array [1..50,1..50] of double;
c:array [1..50] of double;
x1:array [1..50] of double;
x2:array [1..50] of double;

i,j,k,iter:integer;
sum:double;
begin

iter:=0;

for i :=1 to 50 do
begin
for j := 1 to 50 do
begin

if i=j then
begin
A[i,j]:=200;
end;

if i=j+2 then
begin
A[i,j]:=30;
end;

if i=j+25 then
begin
A[i,j]:=40;
end;

begin
if i<>j then
if i<>j+2 then
if i<>j+25 then
Begin
A[i,j]:=0;
End;
end;
end;
end;

for j := 1 to 50 do
begin
b[j]:=50*j+50;
end;

for i := 1 to 50 do
begin
for j := 1 to 50 do
begin
B1[i,j]:=-A[i,j]/A[i,i];
if i=j then
B1[i,j]:=0;

end;
end;


for i := 1 to 50 do

for j := 1 to 50 do

c[j]:=b[j]/A[j,j];
for j := 1 to 50 do
x[j]:=0;
sum:=100;
while (35/65)*sum>1e-4 do
begin
for i := 1 to 50 do
for j := 1 to 50 do
x1[i]:=B1[i,j]*x[j]+c[i];

iter:=iter+1;
for j := 1 to 50 do
x2[j]:=x[j]-x1[j];
for j := 1 to 50 do
x[j]:=x1[j];
sum:=abs(x2[1]);
for j := 1 to 50 do
if abs(x2[j])>abs(x2[1]) then
sum:=abs(x2[j]);
end;

end;





end.