生活中我们可能遇见这种形式的方程:
ax==b(mod m) 如何求解所有满足此类方程的x?
其中的一个方法就是线性同余方程
a*a(的逆)==1(mod m) (其中a(的逆)称为a模m的逆)
根据欧拉定律 我们知道 kb+r=a 中kb、r、a具有相同的公约数d (即gcd(b,a)==gcd(b,r))
我们可以通过这种方式将kb+r=a展开从而推得贝祖定理gcd(b,a)=sa+tb
当r==1时 根据贝祖定律 我们知道 当r==1时 可以写为 sa+tb=1
将其转为求模式子 sa+tb==1(mod b)=>sa==1(mod b) (经过转化后 tb=0)
sa==1(mod b) 我们可以通过此式子求a(的逆)(在这里是求s)
eg: gcd(3,7)=1
=>3*s+7*t=1 满足此式子即可
5 -2
x -1
x 0
-2 1
x 2
x 3
.....
还有许多满足的式子
一旦有了s值我们就可以求解ax==b(mod m)
eg: 3x==4(mod 7)的解是什么
前例可知 3 mod 7 的逆s=-2
-6x==-8(mod 7)//两边乘以-2
则 1*x(mod 7)==6(mod 7)(mod 7)// 已知-6==1(mod 7) 且 -8==6(mod 7)
=>x==6(mod 7)// 两边抵消
将x*3返回原式可以得出符合原式
x==6(mod 7)有效
可以得出x为6、13、20...
总结:这个方法主要是通过将ax==b(mod m)的左式子转化为 x实现(通过sa==1的方式)
线性同余方程
于 2022-02-07 21:16:44 首次发布
本文讲解了如何通过欧拉定律和贝祖定理求解形如ax=b (mod m)的方程,重点介绍了逆元的求法,并用3x=4 (mod 7)为例,展示了如何利用逆元找到解集。关键步骤包括利用gcd和逆元概念简化方程,最终求得满足条件的x值。
摘要由CSDN通过智能技术生成