Modulus Multiplicative Inverse

Code

Recursive

def modularInverseRecursive(num, mod):
    if num == 1: return 1
    return (mod - mod // num) * modularInverse(mod % num, mod) % mod

Iterative

def modularInverseIterative(num, mod):
    for i in range(1, mod):
        if ((num % mod) * (i % mod)) % mod == 1: return i
    return -1

References

Last updated