■百五減算(その2)

【1】百五減算

 p1,p2,p3が互いに素であるとき,p1で割って余りがr1,p2で割って余りがr2,p3で割って余りがr3になる自然数Aは一意に定まる.

しかし、3つともなると探すのに手間がかかる。しかし次のような巧妙な解法が知られている。

[Q]連立合同式

  x=1  (mod3)

  x=2  (mod5)

  x=3  (mod7)

xを105で割るといくつ余るか.

===================================

 p1で割って1余る数かつp2p3の倍数をx,p2で割って1余る数かつp3p1の倍数をy,p3で割って1余る数かつp1p2の倍数をzとするとき,特殊解

  A=xr1+yr2+zr3

が得られる.

 p1で割って1余る数かつp2p3の倍数をx=70

 p2で割って1余る数かつp3p1の倍数をy=21

 p3で割って1余る数かつp1p2の倍数をz=15

  A=xr1+yr2+zr3=70・1+21・2+15・3=157

  p1p2p3=105

  157−105=52

52が求める余りですが、この解法は最後に105を引くところから百五減算と呼ばれている。

もっとも最後の計算は105以下であれば引けないし、210以上であれば2回引かなくてはならない。

===================================

         70   21   15   70・1   21・2   15・3   A

3で割った余り   1    0    0      1      0      0   1

5で割った余り   0    1    0      0      2      0   2

7で割った余り   0    0    1      0      0      3   3

70,21,15がマジックナンバーになっていて、3,5,7で割った余りの条件を満たすような数を求めることができるのである。

===================================