## Finding Kth Roots

Assuming that $\gcd(b,n)=\gcd(k,\phi(n))=1$, we can take advantage of the trick used in RSA encryption to find a value $x$ that solves the congruence
$$x^k \equiv b \pmod{n}$$
Suppose $x = b^u$. If this were the case, then $x^k \equiv b \pmod{n}$ becomes
$$b^{ku} \equiv b \pmod{n}$$
Under the assumptions above (in particular, the one about $\gcd(b,n)=1$), the above happens if and only if
$$b^{ku-1} \equiv 1 \pmod{n}$$
We know, however, by Euler's theorem that $b^{\phi(n)} \equiv 1 \pmod{n}$. Further, upon raising both sides to the $c^{\textrm{th}}$ power for any integer $c$, we know
$$b^{c\phi(n)} \equiv 1 \pmod{n}$$
As such, we hunt for a $u$ so that
$$ku-1 = c\phi(n)$$
Equivalently, we solve
$$ku \equiv 1 \pmod{\phi(n)}$$
Solving this type of congruence is a routine process by now, so we skip the details -- other than to notice, solving this congruence does depend upon our assumption that $\gcd(k,\phi(n))=1$.

Finally, upon finding this value of $u$, we can compute $x=b^u$ (our solution) by successive squaring.