初等數論初步——一次同余方程


一、一次同余式的概念

通常,我們把含有未知數的同余式叫做同余式方程

一類形式最簡單的同余方程是一次同余方程,一般形式為ax≡b(mod n),其中n為正整數,a,b為整數且a不為0.

二、一次同余方程的解的情況

1、是否有解

2、有多少解

3、有解的情況下如何描述解

1º 先討論特殊情況,即(a,n) = 1的情形

(a,n) = 1 <==> 存在整數k,l,是的ak + nl = 1 <==> n | nl = 1 - ak <==> ak≡1(mod n)

因此,ax≡b(mod n) <==> ax≡b(ak) = a(bk)(mod n) <==> x≡kb(mod n)

因此,這個同余方程有且只有一個解x≡kb(mod n)

2º 再討論(a,n)  = d> 1的情形

若同余方程有解,不妨設x≡c(mod n),則ac≡b(mod n),從而n | ac - b

(a,n)  = d <==> d | a,d | n <==> d | ac,又有n | ac - b <==>d | ac - b

從而d | ac - (ac - b) = 1,這表明上述的同余方程有解時,必有d | b.

那么當d | b時,同余方程是否一定有解呢?

記a = a’d,b= b’d,n = n’d,則(a’,n’)=1,注意到

  ax≡b(mod n) <==> n | ax - b <==> n’d | (a’x - b’)d <==> n’ | (a’x - b’),於是同余方程可以化簡為a’x≡b’(mod n) (*)

根據情況一,(a’,n’) = 1,同余方程(*)有唯一解x≡k’b’(mod n’)

此時x = k’b’ +  n’l,l為任意整數對l,d用帶余除法:l = dq + r,0≤r≤d-1,q為整數,於是

x = k’b’ +  n’l = k’b’ +  n’(dq + r) = k’b’ + nq + n’r,所以x≡k’b’ + n’r(mod n),r = 0,1,...,d-1

於是得出結論:

三、求解一種特殊的一次同余方程:大衍求一術

大衍求一術是求解同余方程ax≡1(mod n),其中a為正整數,a<n且(a,n)= 1的一種算法程序。

(1)算法步驟:

先規定k1=1,r1=a

對n、k用帶余除法:  n = r1q2+r2,記k2=-q2k1;

對a、r2用帶余除法:a = r2q3+r3,記k3=k1-q3k2

對r2、r3用帶余除法:r2 = r3q4+r4,記k4=k2-q4k3

 

 對r3、r4用帶余除法:r3 = r4q5+r5,記k5=k3-q5k4

......

重復這種計算,知道余數rn=1,那么最后所得kn=kn-2 - qnkn-1滿足akn≡1(mod n)

於是x≡kn(mod n)就是一次同余方程ax≡1(mod n)的解

(2)算法原理

r1=a = ak1(mod n)

r2=n - r1q2≡a(- q2k1) = ak2(mod n)

r3=r1 - r2q3≡a(k1 - q3k2) = ak3(mod n)

 r4=r2 - r3q4≡a(k2 - q4k3) = ak4(mod n)

......

而r1 = 1,故ak≡ 1(mod n),這就是大衍求一術的原理了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM