function r = root(c)

x      = 1e3;
fim    = limite(c);
x0     = - fim;
tol    = 1e-4;
k      = 1;
soma   = 0;

% determina a primeira raiz
while abs(x0-x)>tol
   [f,df] = Pn(c,x0);
   fat    = f/df;
   x      = x - fat/(1-fat);
   x0     = x;
   if x0 == fim break endif
endwhile
r(k) = x;

% determina outras raizes
while x0 < fim
   k    = k+1;
   while abs(x0-x)>tol
      [f,df] = Pn(c,x0);
      fat    = f/df;
      for i = 1,k
        soma = soma + (x - r(k));
      endfor
      x      = x - fat/(1-fat/soma);
      x0     = x;
      if x0 == fim break endif
   endwhile
   r(k) = x;
endwhile