百五減算とは,年齢$N$を3, 5, 7でそれぞれ割った余り$a, b, c$ から言い当てる方法で,具体的には,$70a+21b+15c$ から繰り返し105 (3, 5, 7のLCM) を引き,105未満になったらそれを$N$とする.
<しくみ>
以下,$a\equiv b \pmod n$は, 「$a-b$ は $n$ の倍数である」 ことを意味する.例えば,$17\equiv 2 \equiv {-1}\pmod 3$
$7\times5=35$,$7\times3=21$,$5\times3=15$なので,$N\equiv35a+21b+15c \pmod {105}$と予測できるが,$$35a+21b+15c\equiv 2a \pmod 3$$ $$35a+21b+15c\equiv b \pmod 5$$ $$35a+21b+15c\equiv c \pmod 7$$であり,ここで$a$は0, 1, 2のいずれかなので,$2a$は0, 2, 4のいずれかになり,これを3で割った余りは0, 2, 1のいずれかになるから,0以外は$a$と一致しない.従って,$$〇a+21b+15c\equiv a \pmod 3$$となるようにしたい.そのためには$a$の係数は35の倍数かつ$\equiv 1 \pmod 3$にしなければならないので,$$70a+21b+15c \pmod {105}$$とすれば良い.
例えば,$N$が$(a,b,c)=(1,2,3)$のとき,$$70\cdot1+21\cdot2+15\cdot3=157 \equiv 52 \pmod {105}$$言い換えると,3で割った余りが1で,5で割った余りが2で,7で割った余りが3となる105未満の数は52であることがわかる.
◇
<7×15=105減算>
年齢$N$を7, 15でそれぞれ割った余り$a, b$から言い当てることもできる.
$N\equiv15a+7b \pmod {105}$と予測できるが,$$15a+7b\equiv a \pmod 7$$ $$15a+7b\equiv 7b \pmod {15}$$であり,ここで$b$は0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14のいずれかなので,$7b$は0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98のいずれかになり,これを15で割った余りは0, 7, 14, 6, 13, 5, 12, 4, 11, 3, 10, 2, 9, 1, 8のいずれかになるから,0, 5, 10以外は$b$と一致しない.従って,$$15a+〇b\equiv b \pmod {15}$$となるようにしたい.そのためには$b$の係数は7の倍数かつ$\equiv 1 \pmod {15}$にしなければならないので,$$15a+91b \pmod {105}$$とすれば良い.
例えば,$N$が$(a,b)=(3,7)$のとき,$$15\cdot3+91\cdot7=682 \equiv 52 \pmod {105}$$言い換えると,7で割った余りが3で,15で割った余りが7となる105未満の数は52であることがわかる.
◇
<5×21=105>でも同様にできるし,積が105でなくてもできる.さらには,互いに素な2数や3数でもできるが,積が小さい数だと年齢当てには不向き.