1 2つの条件をまとめる
まずx≡2(mod3)とx≡3(mod5)の2条件を1つにまとめます。3と5は互いに素なので、ベズーの等式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×1=2(mod3)、同様に3u≡1(mod5)なのでx≡3×1=3(mod5)——両方の条件を同時に満たします。x≡8(mod15)が2条件の答えです。
2 中国剰余定理
いま行った操作を一般化したのが中国剰余定理です。
m,nが互いに素なとき、x≡a(modm)かつx≡b(modn)を満たすxが、法mnのもとでちょうど1つ存在する。
存在は先ほどと同じ構成です。mu+nv=1となるu,vを(互いに素だから)ベズーの等式で取り、x=anv+bmuとおけば、nv≡1(modm)よりx≡a(modm)、mu≡1(modn)よりx≡b(modn)が同時に成り立ちます。一意性は、x,x′がともに条件を満たすならx−x′はmでもnでも割り切れ、m,nが互いに素だから積mnでも割り切れる(互いに素な数の倍数を両方満たすなら積の倍数、という事実による)ことから、x≡x′(modmn)が出ます。
3 3条件への拡張
最初の問題に戻ります。x≡8(mod15)と、残りの条件x≡2(mod7)を、同じ手順でもう一段まとめます。15と7は互いに素で、15×1+7×(−2)=1なのでu=1,v=−2。
x=8×7×(−2)+2×15×1=−112+30=−82≡23(mod105)
——答えは23(法105=3×5×7のもとで一意)です。実際23=3×7+2=5×4+3=7×3+2と、3条件すべてを満たしています。
4 法が互いに素でないとき
法が互いに素でない場合、中国剰余定理はそのままでは使えません。x≡a(modm)とx≡b(modn)が両立するのはa≡b(modgcd(m,n))のときに限られ、両立すれば解は法lcm(m,n)のもとで一意に定まります(互いに素な場合はこの条件が自動的に満たされ、lcm(m,n)=mnに戻ります)。
5 応用:大きな数を「小分けにして」計算する
中国剰余定理は現代の計算機にも直結しています。巨大な整数の演算を1つの大きな法で行う代わりに、いくつかの小さい互いに素な法で並列に計算し、最後に中国剰余定理で1つの答えに復元する、という技法です。多倍長演算のライブラリや、
RSA 暗号の復号(法n=pqでの計算を、法p・法qそれぞれで行ってから
CRT で合成する)では、この方法で計算量が大きく減ることが知られています。「大きな世界の計算」を「小さな世界の計算の組み合わせ」に分解する、という発想そのものが実装レベルで生きている例です。