Since .Net 4.0+ implements BigInteger with a special modular arithmetics function ModPow (which produces “X
power Y
modulo Z
”), you don’t need a third-party library to emulate ModInverse. If n
is a prime, all you need to do is to compute:
a_inverse = BigInteger.ModPow(a, n - 2, n)
For more details, look in Wikipedia: Modular multiplicative inverse, section Using Euler’s theorem, the special case “when m is a prime”. By the way, there is a more recent SO topic on this: 1/BigInteger in c#, with the same approach suggested by CodesInChaos.