一元线性同余方程&&一元线性同余方程组

     概述:求解一元线性同余方程以及一元线性同余方程组是拓展欧几里得算法的一个重要应用,以下是对问题所包含的几种情况向着拓展欧几里得算法转化的方法。

 一元线性同余方程(形如:a*x = b(mod m))

  这种方程的求法可以转化成为一个不定方程:a*x-m*y=b,其结论同拓展欧几里得算法解不定方程,有解的充分必要条件是GCD(a,m)|b。解法直接套用相关拓展欧几里得算法,若想得到最小的整数解,那么令t=m/GCD(a,b),x=(x%t+t)%t即可,原理是只要我们找到一组特殊的解x0和y0那么我们就可以用 x0 和 y0 表示出整个不定方程的通解:

  x=x0+(b/GCD(a,b))*t

  y=y0-(a/GCD(a,b))*t

一元线性同余方程组:

对于一个一元线性同余方程组:

x=a1(mod m1);

x=a2(mod m2);

···

x=ak(mod mk);

若有:

1. m1...mk之间两两互素,可以套用中国剩余定理(CRT):

  M=m1*m2*...*mk,那么方程有解:X=a1*M1*M1^-1+a2*M2*M2^-1+...+ak*Mk*Mk^-1

  其中Mi=M/mi,Mi^-1=Mi关于mi的乘法逆元。

  2.若不满足如上条件,则可通过如下转化:

两两求算,如x=a1(mod m1);x=a2(mod m2);可分别按照一元线性同余方程组的转化方法写成如下形式:x=m1*y1+a1,x=m2*y2+a2。联立得到:m1*y1-m2*y2=a2-a1。同样的,可以直接套用拓展欧几里得算法,有解的充分必要条件是:GCD(m1,m2)|a2-a1。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值