a=evstr(x_dialog('valeur de a','-5'));
b=evstr(x_dialog('valeur de b','5'));
n=evstr(x_dialog('nombre de points d''interpolation','12'));
nd=evstr(x_dialog('nombre de points de discretisation','100'));
//
h=(b-a)/(n-1);
x=[];y=[];;y2=[];t=[];p=[];
for i=1:n
  x(i)=a+(i-1)*h;
  y(i)=1/(1+x(i)^2);
end
for i=1:nd
  t(i)=a+(i-1)*(b-a)/(nd-1);
  y2(i)=1/(1+t(i)^2);
end
//        
timer();
for i=1:n-1
  for j=n:-1:i+1
    y(j)=(y(j)-y(j-1))/(i*h);
  end
end
for k=1:nd
 p(k)=y(n);
 for i=n-1:-1:1
  p(k)=p(k)*(t(k)-x(i))+y(i);
 end
end
//
disp('temps de calcul complet:');disp(timer());
xbasc();
plot2d(t,y2);
plot2d(t,p,2,rect=[a,-2,b,2],leg='polynome d''interpolation');
