求同余式

题:求解同余式35x==1 mod 97,问怎么用最大公因数的性质求解。
注意: mod 的本质是 0类剩余类。即 a mod m= a + 0 mod m=  a + [0] = a+ m**, [0]表示m的余数为0的剩余类,简称0类剩余类,**表示任意可变的整数值。]

题目转化:求解不定方程35x=1+97y
解一:
35x=1+97y
35z=1-8y   注:将35的倍数集中到35x上并改用新变量
3z=1-8w  注:将8的倍数集中到8y上并改用新变量
由此立即看出可取特解z=3,w=-1,逆即得特解。
下面提出一种利于快速计算(特别是手算、口算心算)的细节算法将上面三个式子中的两邻的进行比较得
x-z=3y
4z=-y+w
故y=-4z+w=-13,x=z+3y=-36
即原同余式的解为x==-36==61 mod 97

验算:开始菜单-运行-calc(即打开windows计算器)-alt_CS(查看-科学型),将
(35*(-36) % 97)
复制到其中,得到结果是 -96==1 mod 97.

解二:
引理:
存在x,y使得 ax+by=gcd(a,b), 这里a,b,x,y全为整数。
注:gcd表示最大公约数great common divisor. 我们一般用辗转相除法求得最大公因数。
35与97的最大公因数为 1,下面用辗转相除法。

97=-8+35a, a=3;  
35=3+8b, b=4;  
8=-1+3c, c=3
由后两式消去除数3,得 8=-1+(35-8b)c,
归并除数8相关的项,得8(1+bc)=-1+35c
再与第一式联立消去除数8相关的项,得(35a-97)(1+bc)=-1+35c
于是35(a+abc-c)-97(1+bc)=-1
与35x==1 mod 97比较,知解
x==-(a+abc-c)=-36 mod 97
此即所求。

解三:(广义)连分数法。这个方法与解二原理相当,利用连分数的性质,过程很简洁。
97=35*3-8
35=4*8+3
8=3*3-1
故
97/35=3-1/(4+1/(3-1/3))=[3; -1:4; 1:3; -1:3]
[3; -1:4; 1:3]=3-1/(4+1/3)=3-3/13=36/13
故97*13-35*36=1
即35x==1 mod 97的解为
x==-36 mod 97

注:我定义广义连分数:
[Z;A1:B1,A2:B2,...]= Z+A1/(B1+A2/(B2+A3/(B3+...))),其中Z,Ai,Bi为整数,可以为负整数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值