|  |  D.12.2.12 rootsModp Procedure from libraryatkins.lib(see  atkins_lib).
 
Example:Usage:
rootsModp(p,P);
Return:
list of roots of the polynomial P modulo p with p prime
Assume:
p>=3
Note:
this algorithm will be called recursively, and it is understood
that all the operations are done in Z/pZ (excepting squareRoot(d,p))
 |  | LIB "atkins.lib";
ring r = 0,x,dp;
poly f=x4+2x3-5x2+x;
rootsModp(7,f);
==> [1]:
==>    0
==> [2]:
==> -1
==> [3]:
==> 2
==> [4]:
==> -3
poly g=x5+112x4+655x3+551x2+1129x+831;
rootsModp(1223,g);
==> [1]:
==> -33
==> [2]:
==> -225
==> [3]:
==> 206
==> [4]:
==> 295
==> [5]:
==> -355
 | 
 
 |