7 中国剩余定理
Chinese Remainder Theorem
有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?....《孙子算经》 即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。
定理:令n1,n2,...,nk为两两互素的自然数,b1,b2,...,bk∈Z。记N=n1*n2*...*nk。则存在唯一的x(mod N) 使得x≡bi(mod ni),其中1≤i≤k。
证明:记mi=N/ni。mi有两个性质,首先,mi与ni互素,所以mi存在一个逆(mod ni),不妨记为yi;然后,当j≠i的时候,注意到mi是nj的倍数。 考虑x=b1*m1*y1+b2*m2*y2+...+bk*mk*yk
对于任意i,1≤i≤k,有
x≡b1*m1*y1+b2*m2*y2+...+bk*mk*yk (mod ni)
≡bi*mi*yi (mod ni)
≡bi (mod ni)
最后,要证明唯一性。假设x和y同时满足同余方程组,则ni整除x-y,而ni两两互素,则N整除x-y,即x≡y (mod N)。
上面这个同余方程组是这样的
x≡2 (mod 3)
x≡3 (mod 5)
x≡2 (mod 7)
用中国剩余定理可以这么解
首先,N=3*5*7=105,m1=N/3=35,m2=N/5=21,m3=N/7=15。
再计算m1≡35≡2(mod 3), y1=2;
m2≡21≡1(mod 5), y2=1;
m3≡15≡1(mod 7), y3=1.
最后,x≡2*35*2+3*21*1+2*15*1(mod 105)
≡140+63+30(mod 105)
≡233(mod 105)
≡2*105+23(mod 105)
≡23(mod 105)
所以,满足上面这个同余方程组的最小的自然数是23。
|