1 連立合同式の例
例 1.1.x≡2(mod3)とx≡3(mod5)をともに満たす整数xを求める。3と5は互いに素なので、§A4.3 補題 1.1により3u+5v=1を満たす整数u,vが存在する。u=2,v=−1と取ると、3×2+5×(−1)=1である。
x=2×5×(−1)+3×3×2=−10+18=8とおくと、5v=1−3u≡1(mod3)よりx≡2(mod3)であり、3u=1−5v≡1(mod5)よりx≡3(mod5)である。したがって8は二つの条件を満たす。
2 中国剰余定理
補題 2.1.m,nを互いに素な正の整数、a,bを整数とする。mu+nv=1を満たす整数u,vを取り、x0=anv+bmuとおく。整数xが
x≡a(modm),x≡b(modn)をともに満たすための必要十分条件は、x≡x0(modmn)である。
証明.§A4.3 補題 1.1により、mu+nv=1を満たす整数u,vが存在する。nv≡1(modm)、mu≡1(modn)であるから、x0=anv+bmuは二つの合同式を満たす。
整数xも二つの合同式を満たすなら、ある整数s,tによってx−x0=ms=ntと書くことができる。したがって、
x−x0=(mu+nv)(x−x0)=mn(ut+vs)であり、x≡x0(modmn)が成り立つ。逆に、x≡x0(modmn)なら、mとnはともにx−x0を割り切るので、xは二つの合同式を満たす。▨
定理 2.2.r≥2を整数とし、m1,…,mrをどの二つも互いに素な正の整数、a1,…,arを整数とする。M=m1⋯mrとおく。ある整数x0が存在して、整数xがすべてのi=1,…,rについてx≡ai(modmi)を満たすための必要十分条件は、x≡x0(modM)である。
証明.r=2の場合は補題 2.1による。k≥2とし、r=kの場合に主張が成り立つと仮定する。帰納法の仮定により、最初のk個の合同式は、ある整数cとP=m1⋯mkを用いてx≡c(modP)とまとめることができる。
Pとmk+1に1より大きい公約数があれば、§A4.2 定理 2.2により、その公約数に素因子pが存在する。pはPとmk+1をともに割り切り、§A4.2 補題 2.1を繰り返し用いると、pはm1,…,mkのいずれかも割り切る。これは法がどの二つも互いに素であることに反するので、Pとmk+1は互いに素である。補題 2.1により、x≡c(modP)とx≡ak+1(modmk+1)は、法Pmk+1の一つの合同式にまとめることができる。数学的帰納法により、すべての整数r≥2について主張が成り立つ。▨
3 3条件への拡張
例 3.1.x≡2(mod3)、x≡3(mod5)、x≡2(mod7)をともに満たす整数xを求める。例 1.1の構成と補題 2.1により、最初の二つの合同式はx≡8(mod15)と同値である。15と7は互いに素であり、15×1+7×(−2)=1なので、補題 2.1の構成でu=1,v=−2と取ると
x=8×7×(−2)+2×15×1=−112+30=−82≡23(mod105)となる。したがって、解の全体はx≡23(mod105)で表される。実際、23=3×7+2=5×4+3=7×3+2であり、三つの条件をすべて満たす。
問題 3.2.0≤x<30を満たす整数xのうち、x2≡x(mod30)を満たすものをすべて求めよ。
解答.
x2≡x(mod30)は30∣x(x−1)と同値である。§A4.2 定理 2.2により、この条件は2,3,5がそれぞれx(x−1)を割り切ることと同値である。§A4.2 補題 2.1により、各素数p=2,3,5について、p∣x(x−1)ならばp∣xまたはp∣x−1である。逆に、どちらかの因子をpが割り切るならば、積もpで割り切れる。したがって、各法ではx≡0(modp)またはx≡1(modp)となる。
a,b,cをそれぞれ0,1から選び、
x≡a(mod2),x≡b(mod3),x≡c(mod5)とする。定理 2.2により、各組(a,b,c)に対応する解は法30でただ一つ存在する。15は法2で1、法3,5で0である。10は法3で1、法2,5で0であり、6は法5で1、法2,3で0である。したがって、対応する解は
x≡15a+10b+6c(mod30)である。八つの組を代入し、0以上30未満の余りに直すと、
x=0,1,6,10,15,16,21,25を得る。どの解からも三つの余りの組が定まり、異なる組は同じ解に対応しないため、これらが解のすべてである。▨
4 法が互いに素でないとき
法が互いに素でない場合、中国剰余定理はそのままでは用いることができません。x≡a(modm)とx≡b(modn)が両立するのはa≡b(modgcd(m,n))のときに限られます。両立するとき、解は法lcm(m,n)のもとで一意に定まります。m,nが互いに素な場合には、この条件は自動的に満たされます。さらに、lcm(m,n)=mnであるので、この節で述べた解の存在と一意性は、中国剰余定理の主張と一致します。
5 小さな法への分解による計算
中国剰余定理は、現代の計算機での整数の計算にも用いられています。巨大な整数の演算を1つの大きな法で行う代わりに、いくつかの小さい互いに素な法で並列に計算し、最後に中国剰余定理を用いて1つの答えを復元する技法があります。多倍長演算のライブラリや、
RSA 暗号の復号(法n=pqでの計算を、法p・法qそれぞれで行ってから
CRT で合成する)では、この技法によって計算量が大きく減ることが知られています。この技法は、大きな法での計算を小さな法での計算の組合せに分解するという考え方を、計算機での実装に用いた例です。
6 例題
次の連立合同式を満たす x を、法の積を法として求めよ。
解法の型一方の式をx=a+mkとおき、もう一方の式へ代入する
例 6.1.
{x≡1(mod4)x≡4(mod7)答x≡25(mod28)
例 6.2.
{x≡1(mod3)x≡5(mod7)答x≡19(mod21)
例 6.3.
{x≡1(mod7)x≡3(mod9)答x≡57(mod63)
例 6.4.
{x≡2(mod4)x≡6(mod7)答x≡6(mod28)
例 6.5.
{x≡1(mod5)x≡3(mod7)答x≡31(mod35)
例 6.6.
{x≡0(mod4)x≡2(mod7)答x≡16(mod28)
例 6.7.
{x≡3(mod5)x≡4(mod7)答x≡18(mod35)
例 6.8.
{x≡3(mod7)x≡7(mod9)答x≡52(mod63)
例 6.9.
{x≡0(mod4)x≡3(mod7)答x≡24(mod28)
例 6.10.
{x≡4(mod5)x≡5(mod7)答x≡19(mod35)
7 演習
次の連立合同式を満たす x を、法の積を法として求めよ。
解法の型一方の式をx=a+mkとおき、もう一方の式へ代入する
問題 7.1.
{x≡1(mod5)x≡4(mod7)解答.
答x≡11(mod35)▨
問題 7.2.
{x≡4(mod7)x≡3(mod9)解答.
答x≡39(mod63)▨
問題 7.3.
{x≡0(mod5)x≡7(mod8)解答.
答x≡15(mod40)▨
問題 7.4.
{x≡4(mod5)x≡2(mod8)解答.
答x≡34(mod40)▨
問題 7.5.
{x≡1(mod4)x≡0(mod7)解答.
答x≡21(mod28)▨
問題 7.6.
{x≡6(mod7)x≡2(mod9)解答.
答x≡20(mod63)▨
問題 7.7.
{x≡1(mod3)x≡3(mod7)解答.
答x≡10(mod21)▨
問題 7.8.
{x≡3(mod5)x≡5(mod8)解答.
答x≡13(mod40)▨
問題 7.9.
{x≡1(mod3)x≡4(mod5)解答.
答x≡4(mod15)▨
問題 7.10.
{x≡4(mod5)x≡4(mod8)解答.
答x≡4(mod40)▨
問題 7.11.
{x≡0(mod3)x≡3(mod7)解答.
答x≡3(mod21)▨
問題 7.12.
{x≡0(mod4)x≡1(mod7)解答.
答x≡8(mod28)▨
問題 7.13.
{x≡3(mod5)x≡7(mod8)解答.
答x≡23(mod40)▨
問題 7.14.
{x≡1(mod3)x≡6(mod7)解答.
答x≡13(mod21)▨
問題 7.15.
{x≡2(mod5)x≡2(mod8)解答.
答x≡2(mod40)▨