要想更好地理解元线性同余方程在我看来需要先理解扩展欧几里得算法。
目录
定义
a, b是整数,m是正整数,形如ax≡ b(mod m),且x是未知整数的同余式称为一元线性同余方程。ax≡b(mod m),即(a*x)/m与b/m的余数相等,且a , b , m 为整数,求x的值。
对于ax ≡ b (mod m),可以变形为 ax = b + my,在变形一下就是ax+my = b。这样就把一个一元线性同余方程给转换为可以使用拓展欧几里德求解的形式了。
推导过程
- ax≡ b(mod m)
- ax % m = k ( b % m) (k∈Z)
- ax - ( ax / m ) * m= k*( b - ( b / m ) * m )
- ax - kb = (ax / m -k ( b / m) )* m
- ax / m ,b / m (k∈Z)
- ( ax /