連立合同式
中国の古典「孫子算経」(4〜5世紀)の中に、次のような問題がある。
ある数を、3で割ると2余り、5で割ると3余り、7で割ると2余るという。ある数は何か。
このような問題は、吉田光由 著 「塵劫記」(江戸時代初期の頃)にも見ることが出来る。
いくつか解法が知られている。
(腕力にまかせる方法)
7で割って2余る数を並べると、
2、9、16、23、30、37、44、51、58、65、72、79、86、93、100、・・・
この数列を5で割り、余りを求めると、2、4、1、3、0、2、4、1、3、0、2、4、1、3、0、・・・
この中で余りが3となる数を拾い出すと、 23、58、93、・・・
この数列を3で割り、余りを求めると、 2、1、0、・・・ なので、求める答は、23となる。
※ この解法は確実だが、時間がかかるのが難点だろう。
(和を利用する方法)
3と5の公倍数 15、30、45、60、・・・ の中で7で割って2余る数Pの最小値は、30
3と7の公倍数 21、42、63、84、・・・ の中で5で割って3余る数Qの最小値は、63
5と7の公倍数 35、70、105、140、・・・ の中で3で割って2余る数Rの最小値は、35
P+Q+Rは題意を満たし、30+63+35=128 から 105=3×5×7を減算して、
求める答は、23となる。
(法則性に着目する方法)
5で割ると3余る数の一の位は、3 または 8 である。
7で割って2余る数で、一の位が、3 または 8 となる場合を拾い上げると、
23、58、93、・・・
23は、3で割って2余る数なので、題意に適する。よって、求める答は、23となる。
(文字を利用する方法)
求める数をMとおくと、題意より、 M=3a+2=5b+3=7b+2
このとき、 M=3a+2=5b+3=7b+2 において、
7(M−8)は、3、5、7の公倍数で、7(M−8)=105k (kは自然数)
M=15k+8=23、38、・・・ より、求める答は、23となる。
上記の解法では、「7(M−8)」が天下り的に現れ、違和感を持つ方が多数存在する恐れ!
このような場合に、合同式の記号(≡)を用いると、考えやすくなるだろう。
合同式を用いると、問題は、次のように書き直すことができる。(合同式→こちらを参照)
ある数を X として、 X≡2 (mod 3)、X≡3 (mod 5)、X≡2 (mod 7) の3式を
同時に満たす X を求めよ。
これは、正しく連立合同式の問題である。この連立合同式の解法については、Gauss
の方
法が知られている。
Gauss の方法がいかにエレガントな解法であるかを理解するために、まず、高校生的解法
を眺めてみよう。
X≡2 (mod 3)から、X=3p+2 (p は整数)とかける。
さらに、X≡3 (mod 5)から、X=3p+2=5q+3 (q は整数)とかける。
よって、3p+2=5q+3 から、3p=5q+1=6q+1−q より、1−q は、3の倍数。
そこで、1−q=−3r (r は整数)とおいて、もとの式に代入すると、
X=5(3r+1)+3=15r+8 となる。
また、X≡2 (mod 7)なので、X=15r+8=7s+2 (s は整数)とかける。
よって、15r+8=7s+2 から、7s=15r+6=14r+r+6 より、r+6 は、7の倍数。
そこで、r+6=7t (t は整数)とおいて、もとの式に代入すると、
X=15(7t−6)+8=105t−82 (t は整数) ・・・(答)
(ある数として、最小の自然数を想定すれば、上式に t=1 を代入して、23 を得る。)
それでは、いよいよ、このページの眼目であるGauss の方法を説明しよう。
Gauss の方法 (以下で、3個の連立合同式で説明しているが、何個でも成立する。)
p、q、r が2つずつ互いに素で、a、b、c は任意の整数とする。このとき、
連立合同式 X≡a (mod p)
X≡b (mod q)
X≡c (mod r)
の解は、次のようにして求められる。
m=p・q・r とし、m=p・P=q・Q=r・R とおく。このとき、
P・A≡1 (mod p)
Q・B≡1 (mod q)
R・C≡1 (mod r)
となる A、B、C を求めれば、連立合同式の解は、
X≡a・P・A+b・Q・B+c・R・C (mod m)
で与えられる。
このような解法の手順は、孫子にちなんで、孫子の剰余定理(または、中国剰余定理)と
も呼ばれる。(Gauss の方法の証明は、上の高校生的解法と同様になされる。)
実際に、冒頭の問題に対して、Gauss の方法を適用してみよう。
連立合同式
X≡2 (mod 3)
X≡3 (mod 5)
X≡2 (mod 7)
において、
m=3・5・7=105 で、
35・A≡1 (mod 3)を満たすAとして、A=2
21・B≡1 (mod 5)を満たすBとして、B=1
15・C≡1 (mod 7)を満たすCとして、C=1
よって、求める解は、
X≡2・35・2+3・21・1+2・15・1
=140+63+30
=233 (mod 105)
≡23 (mod 105)
Gauss の方法はまた、分数を部分分数に分解する問題に対しても有効である。
(例) 次の分数を部分分数に分解せよ。 |
105=3・5・7 から、 23≡2 (mod 3)
23≡3 (mod 5)
23≡2 (mod 7)
このとき、23=2・35・2+3・21・1+2・15・1+105・(−2) より、
(参考文献:高木貞治 著 初等整数論講義(共立出版))