模线性方程(和一个数的逆)

2019-04-13 13:55发布

描述: 输入正整数a,b,n,解方程axequiv b(modn)a,b,nleq 10^{9}。(axequiv b(modn)表示的含义是“a和b关于模n的同余”,即a mod n=bmod n) 分析: 原方程可理解成ax-b=ny,移项得ax-ny=b;然后就可以用扩展欧几里得 这里有个特殊情况需指出,b=1时,axequiv 1(mod n)的解称为a关于模n的逆(inverse),它类似于实数运算中的倒数的概念。 那么什么时候a的逆存在呢?即方程ax-ny=1要有解,这样1必须是gcd(a,n)的倍数,因此a和n必须互素(即gcd(a,n)=1),所以若a,n互素,axequiv 1(mod n)只有唯一解