拓展的欧几里得算法求乘法逆元
    拓展的欧几里得算法又叫扩展欧几里得算法,是一种求解一元线性同余方程的方法,可以用来求解乘法逆元。假设要求a在模n下的乘法逆元,即到x满足ax ≡ 1 (mod n)。
    算法步骤如下:
    1. 用欧几里得算法求出a和n的最大公约数gcd(a,n)以及对应的系数s和t。
    2. 如果gcd(a,n)不等于1,则a在模n下没有乘法逆元。
    3. 如果gcd(a,n)等于1,则ax ≡ 1 (mod n)可以转化为ax + ny = 1的形式,其中y为x的系数。
    4. 用扩展的欧几里得算法求出gcd(a,n)的系数s和t,使得sa + tn = gcd(a,n)。
booth算法乘法例题讲解    5. 把等式ax + ny = 1中的a用sa + tn替换,得到(sx + n'y)a + (ty) n = 1,其中n'为n的系数。
    6. 取模得到(sx + n'y)a ≡ 1 (mod n),即ax在模n下的乘法逆元为sx + n'y。
    举例说明:
    计算16在模21下的乘法逆元。
    1. 计算gcd(16,21):21 = 1 × 16 + 5,16 = 3 × 5 + 1,gcd(16,21) = 1。
    2. gcd(16,21) = 1,继续下一步。
    3. 转化为16x + 21y = 1的形式,求出y的系数。
    4. 用扩展的欧几里得算法求出gcd(16,21)的系数s和t,使得16s + 21t = gcd(16,21),得到s = 11,t = -8。
    5. 代入得到(11x - 8y)16 + 21y = 1,即(11x - 8y)16 ≡ 1 (mod 21)。
    6. 求解得到x = 11,即16在模21下的乘法逆元为11。
    注意事项:
    1. 模数n必须是正整数,且与a互质,否则a在模n下没有乘法逆元。
    2. 扩展的欧几里得算法有多组解,根据具体问题设置取值范围。