я там опечатался, я его переделал немного))
сделал вот так, теперь деление на 0 во втором цикле по I, причем сразу. что я делаю не так с ним??
Код:
Function Newton(n: integer; d:real; x,y :array of real):real;
var
l,l2:real;
j,i,k,u:integer;
p,p2: real;
y1,y2: array [0..2] of real;
begin
L:=fx[1];
P:=1;
p2:=1;
for j:=1 to n do
begin
p:=p*(D-X[j-1]);
p2:=p2*(D-x[j-1])*(D-x[j]);
for i:=0 to (n-j) do
begin
Y1[i]:=(y[i+1]-y[i])/(x[i+j]-x[i]);
end;
for I := 1 to (n-j) do
begin
y2[i]:=(((y[i+2]-y[i+1])/(x[i+j]-x[i]))-(y[i+1]-y[i])/(x[i+j]-x[i]))/(x[i+2]-x[i]);
end;
l:=l+p*y1[i]+p2*y2[i];
end;
Newton:=l;
end;