a = 10; n = 5; p = 13 # the best case
modNthroot(a, n, p) # 4
a = 10; n = 17; p = 13 # n greater than p-1
modNthroot(a, n, p) # 4
a = 9; n = 4; p = 13 # n and p-1 not coprime
modNthroot(a, n, p) # 4 6 7 9
a = 17; n = 35; p = 101 # 7 is a prime divisor of n and p-1
modNthroot(a, n, p) # 9 21 47 49 76
a = 5001; n = 5; p = 100003 # some bigger numbers
modNthroot(a, n, p) # 47768
Run the code above in your browser using DataLab