? 3+5 %1 = 8 ? 3*6 %2 = 18 ? %1+%2 %3 = 26 ? gcd(1262353,7362626266262) %4 = 1 ? ?bezout bezout(x,y): gives a 3-dimensional row vector [u,v,d] such that d=gcd(x,y) and u*x+v*y=d. ? bezout(1262353,7362626266262) %5 = [244916756385, -41992, 1] ? 1262353*%5[1]+%5[2]*7362626266262 %6 = 1 ? 17%3 %7 = 2 ? Mod(17,3) %8 = Mod(2, 3) ? Mod(17,3)^102923834774675474747474747474747473763673633903030 *** Warning: large exponent in Mod(a,N)^n: reduce n mod phi(N). %9 = Mod(1, 3) ? Mod(17^102923834774675474747474747474747473763673633903030,3) *** length (lg) overflow ? Mod(17102923834774675474747474747474747473763673633903030,393767346734646464646466464)^1673663636363636363 %10 = Mod(41049018847277107562045600, 393767346734646464646466464) ? lift(%10) %11 = 41049018847277107562045600 ? p=nextprime(10^100) %12 = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000267 ? znprimroot(p) *** znprimroot: user interrupt after 59,591 ms. ? p=nextprime(10^10) %13 = 10000000019 ? znprimroot(p) %14 = Mod(2, 10000000019) ? factor(%12-1) *** factor: user interrupt after 41,715 ms. ? g=Mod(2,1373) %15 = Mod(2, 1373) ? B=g^871 %16 = Mod(805, 1373) ? Mod(974,1373)^871 %17 = Mod(397, 1373) ? for(a=1,1372,if(g^a==Mod(974,1373),print(a))) 587 ? B^587 %18 = Mod(397, 1373) ? ?znlog znlog(x,g): g as output by znprimroot (modulo a prime). Return smallest non-negative n such that g^n = x. ? znlog(Mod(974,1373),g) %19 = 587 ? \q Goodbye!