function [x,y,iter] = NEWTON(eps,init,pol,Niter)
    % [x,iter] = NEWTON(eps,init,pol,Niter)
    % 
    % methode de Newton avec test d'arret 
    % l'entree f doit etre declaree comme une 
    % entree polynomiale pol (declaree comme la liste 
    % des coefficients suivant les exposants 
    % decroissants des monomes). 
    
l = length(pol); 
diffpol = pol(1:l-1).*(l-[1:(l-1)]);
x = init; e  = 2*eps; iter = 0; 
while iter < Niter && e > eps   
   u = polyval(pol,x); v = polyval(diffpol,x);
   if abs(v)<eps
       xnew = x; e = 0; 
   else
       xnew = x - u./v; e = norm(xnew-x);
   end
x = xnew; iter = iter +1;    
end
y = polyval(pol,x); 
end

