摘要:
定义
由若干个一元线性同余方程组构成的方程组,叫做一元线同余方程组。
求解
我们可以将其统一划成a*x ≡ b(mod m)的形式,这样有利于算法的实现。
既然是对同余方程组求解,那么必然得先会对同余方程求解 阅读全文
摘要:
定义
a,b是整数,m是正整数,形如a * x ≡ b (mod m),且x是未知数的同余式称为一元线性同余方程。
理论基础与求解
定理1:假设d = gcd(a , m),假设对于整数xx和yy有 d = a * xx + m * yy。若d|b(d能够整出b),那么方程 a * x ≡ b (mod m)有一个解X满足式子 X = xx * (a/b) % m ,其中xx可以用扩展欧几里得算法获得。 阅读全文
摘要:
定义
设a和b不全为0,则存在整数x和y,使得a*x + b*y = gcd( a, b) = d,其中d为最大公约数。
实现原理
对于gcd( a, b) = d,用辗转相除法可以得到gcd( d, 0),此时把a = d,b = 0代入a*x + b*y = d中可以得到x = 1,y为任意值。现在将该过程进行逆推,以满足任何情况下的a*x + b*y = d: 阅读全文