求同余式

来源:互联网 发布:淘宝卖家有发票吗 编辑:程序博客网 时间:2024/06/05 11:23
题:求解同余式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+97y35z=1-8y   注:将35的倍数集中到35x上并改用新变量3z=1-8w  注:将8的倍数集中到8y上并改用新变量由此立即看出可取特解z=3,w=-1,逆即得特解。下面提出一种利于快速计算(特别是手算、口算心算)的细节算法将上面三个式子中的两邻的进行比较得x-z=3y4z=-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-835=4*8+38=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
原创粉丝点击