循環数
当HPがいつもお世話になっているHN「hasu」さんから話題を提供して頂きました。
(平成24年1月15日付け)
十進法では、1、5、6 は、q2≡q (mod 10) の解になります。
同様に、1、25、76 は、q2≡q (mod 100) の解になります。
では、n進法で、q2≡q (mod nk) (k=1、2、・・・) の解はどうなるのでしょうか?
空舟さんが考察されました。(平成24年1月15日付け)
少し変形すると、「q(q−1)がnで割り切れる」という解釈になります。nが素数の場合では、
解は、q≡0、1 しかないことがわかります。
nが複数の素因数を持つ場合、xy=n となる互いに素な2つの数を x、y
とすると、
(このようなx、yの取り方は、nが「素因数の種類がk個からなる数」のとき、(2k−2)/2となります。即ち、
k個からいくつか選びとる方法が2k通りで、何も選ばないのと全部選ぶのとを除外して2で割ればよい。)
ax−by=1 となる整数 a、b がある。
(または、a’x−b’y=−1 となる整数 a’、b’ がある。)
このとき、 ax=by+1 (または、 a’x+1=b’y) から、
(ax)(ax−1) は、x かつ y で割り切れるので、 (ax)(ax−1)
は、n で割り切れる。
同様に、
(b’y)(b’y−1) は、x かつ y で割り切れるので、 (b’y)(b’y−1)
は、n で割り切れる。
以上から、 q≡ax あるいは、b’y が解になります。
x、y が互いに素ですから、このようなqは、正と負で1つずつあります。
例えば、n=10=2・5 の場合、2の倍数 0、2、4、6、8 について、それらの5で割った
余りは、0、1、2、3、4 を網羅します。
2a−5b=1 を満たす a、b は、 a=3 、b=1 このとき、解
q=2・3=6
2a−5b=−1 を満たす a、b は、 a=2 、b=1 このとき、解
q=5・1=5
これを拡張するようにして考えれば、
nが「素因数の種類がk個からなる数」のとき、
0と1以外の解は、2k−2個 存在し、すべての解は、2k 個
(解0、1は、(x,y)=(1,n) の時に相当しています。)
ということになると思います。
(1つの素因数 x で複数回(c>1回)割り切れる時でも、q と q−1 のうち両方が
x の倍数になること
はないので、xc を1つの素因数であるかのように考えてよいと思います。)
hasu さんからのコメントです。(平成24年1月15日付け)
ありがとうございます。私もいくつかの場合を計算して、ある程度の数は分かっていました
が、2kになるとは全然分かりませんでした。気付いたのですが、この数の中では掛け算が
できます。さらに1をぬかせば足し算もできないでしょうか?
攻略法さんが、循環数について考察されました。(平成24年1月15日付け)
n進法の場合(空舟さんの結果を用いれば、解の個数は、30=2・3・5 より、23=8個)
例 n=30
1桁 = 0 1 6 A F G L P
2桁 = 00 01 3A 7F AP J6 MG QL
3桁= 000 001 13A 2J6 3MG Q7F RAP SQL
4桁= 0000 0001 1Q7F B2J6 CSQL H13A IRAP S3MG
5桁= 00000 00001 5CSQL 8IRAP E1Q7F FS3MG LB2J6 OH13A
6桁= 000000 000001 6LB2J6 7OH13A EFS3MG FE1Q7F M5CSQL N8IRAP
平方数の下k桁
例 n=10のとき、
10、 100、1000、10000、100000、1000000、10000000、・・・、nk
0→ 0→ 0→ 0→ 0→ 0→ 0→
1→ 1→ 1→ 1→ 1→
1→ 1→
5→ 25→625→ 0625→90625→ 890625→2890625→
* ** ***
**** ***** ******
6→ 76→376→ 9376→09376→ 109376→7109376→
系列5
5*5=25≡25 (mod 100)
25*25=625≡625 (mod 1000)
625*625=390625≡0625 (mod 10000)
390625*390625=152587890625≡90625 (mod 100000)
152587890625*152587890625=23283064365386962890625≡890625 (mod 1000000)
5*5=25≡25 (mod 100)
25*25=625≡625 (mod 1000)
625*625=390625≡0625 (mod 10000)
0625*0625=390625≡90625 (mod 100000)
90625*90625=8212890625≡890625 (mod 1000000)
890625*890625=793212890625≡2890625 (mod 10000000)
系列6
6*6=36≡6 (mod 10)、10-3=7より、76
76*76=5776≡76 (mod
100)、10-7=3より、376
376*376=141376≡376 (mod 1000)、10-1=9より、9376
9376*9376=87909376≡9376 (mod 10000)、10-0=10より、09376
09376*09376=87909376≡09376(mod 100000)、10-9=1より、109376
109376*109376=11963109376≡109376(mod 1000000)、10-3=7より、7109376
系列5+系列6 を計算してみると、
5+6-1=10
25+76-1=100
625+376-1=1000
0625+9376-1=10000
90625+09376-1=100000
890625+109376-1=1000000
2890625+7109376-1=10000000
空舟さんからのコメントです。(平成24年1月16日付け)
掛け算について、命題は、
「q(q-1) と p(p-1) が共にnで割り切れるとき、pq(pq-1) は、nで割り切れる」
ということになります。
pq(pq-1)=pq{(p-1)(q-1)+(p-1)+(q-1)}=p(p-1)・q(q-1)+q・p(p-1)+p・q(q-1)
という変形によって確認できました。足し算 (p+q)(p+q-1) については上手くいきませんでし
た。
ただ、xy=n となる素な x、y に対して、
ax-by=1 に対して、 q1=ax
a’x-b’y=-1 に対して、 q2=b’y
すなわち、
q1:xで割り切れて、1を引くと、yで割り切れる
q2:yで割り切れて、1を引くと、xで割り切れる
に対して、 Q=q1+q2 は、n=xy で割った余りが1であり、従って、Q(Q-1) がnで割り切れる
ことが理解できます。
FNさんからのコメントです。(平成24年1月16日付け)
「掛け算ができる」については、可換環において、 x2=x 、y2=y なら、 (xy)2=xy とい
うことで、 (xy)2=x2・y2=xy で成り立つ。
「足し算」については、 x2=x 、y2=y から、 (x+y)2=x+y がどの程度でてくるかということ
で、 (x+y)2=x2+y2+2xy だから、 2xy=0 が成り立つことが必要十分。
ここで、2xy=0はめったに成り立たないから、一般には成り立たない。
始めの例の mod 10 の場合でも、5+5=1、5+6=1 はいいとしても、6+6=2 で成り立ちま
せん。(足し算ができるというとき、自分自身との和を除くのは不適切)
だから、単に、 5+6=1 になっているという意味でしょう。これなら次の形で成り立ちます。
自然数 n の素因数が2個であるとき、空舟さんの結果より、x2≡x (mod n) と
なる x は、mod n で4個あるが、0と1以外の2つを x、y とすれば、
x + y ≡ 1 (mod n)
である。
これは、xが、x2≡x を満たせば、(1-x)2≡1-x が成り立つということである。実際に、
(1-x)2=1-2x+x2≡1-2x+x=1-x
で成り立つ。
上記の証明は、やや不十分で、x2≡x のとき、x≡1-x ではないことを示す必要があり
ました。難しくはありません。
2012の素因数は2個なので、手頃な入試問題が作れます。
2012以下の自然数 n で、n2−n が、2012の倍数であるようなものをすべて求
めよ。なお、2012の素因数分解は、2012=22×503 である。
2013になると、素因数が3個なので難しくなります。適切な誘導を付けないと入試問題に
はならないでしょう。
東大で似たような問題があったような気がして調べたら、「2012」を「10000」にしたのがあ
りました。答えを一意的にするために多少の条件がついてます。どちらも素因数は2個です
が、2012=22×503 と 10000=24×54 では相当難しさに差があります。2012=22×503は
このタイプの中では易しい部類に入ります。東大の問題はちょっと難しいので、このぐらい
の問題の方がいいと思うのですが。東大の問題があるから、こんな問題は出題できないの
かな。
FNさんが解答を示されました。(平成24年1月20日付け)
(解) n=1、n=2012 は明らかに条件を満たすから、2≦n≦2011 とする。
n(n-1)は、2012=22×503 の倍数であり、503は素数だから、n、n-1 の一方は、503 の倍
数である。n と n-1 は互いに素であり、一方が偶数で、他方が奇数であるが、n(n-1)は、4
の倍数だから、n、n-1 のうちの偶数である方が4の倍数である。
n、n-1 は、503 の倍数で、かつ、4の倍数であることはできない(∵2≦n≦2011)から、
n、n-1 の一方が、503 の倍数で奇数、他方が4の倍数である。
503の倍数で奇数、かつ、2≦n≦2011 であるのは、503 と 1509 だけである。
n=503 のとき、n-1=502 は、4の倍数ではない。
n=1509 のとき、n-1=1508 は、4の倍数である。
n-1=503 のとき、n=504 は、4の倍数である。
n-1=1509 のとき、n=1510 は、4の倍数でない。
従って、n=504、1509 より、n=1、504、1509、2012 (終)
大学入試にふさわしい問題だと思います。2013にすると、大学入試としては難しすぎます
が、やってやれないことはない筈です。
2013以下の自然数 n で、n2−n が、2013の倍数であるようなものをすべて求
めよ。なお、2013の素因数分解は、2013=3×11×61である。
hasu さんが上記の問題を考察されました。(平成24年1月21日付け)
授業中に思い継いだのですが、結構いいやり方だと思います。
循環数をαとします。α(α−1)が2013の倍数なので、どちらかが11の倍数で、どちら
かが3の倍数です。始めに、11と3がともに同じ数の素因数のときを考えます。
一方は、33の倍数になり、α<2013なので、他方が、61の倍数になります。
33x−61y=1 を考えます。(33,61)=1 なので、この等式を満たす整数 x、y は存在
します。
61=33・1+28 、33=28・1+5 、28=5・5+3 、5=3・1+2 、 3=2・1+1
より、 1=3−2・1=28−(33−28)・5−((33−28)−(28−(33−28)・5))
=33・(−11)+28・13
=33・(−11)+(61−33)・13=33・(−24)+61・13
このとき、 (x,y)=(−24,−13) が出ますので、 61・13=33・24+1=793
793は、61の倍数で、793−1=792は33の倍数になり、793・792は、2013の倍数
よって、αの一つが793であることがわかります。2014−αも解なので、1221も解にな
ります。
次に、11と3が同じ数の素因数でないときを考えます。
α(α−1)より、11x−3y=1 で、x、y のどちらかが61の倍数であるときに、11x、3y
の
大きい方がαであることがわかります。
11x−3y=1 の一つの解を探すと、(x,y)=(−1,−4)となります、この程度の大きさ
ならすぐにわかりますが、もっと大きいと大変です。
11・3−3・11=0 より、(x,y)=(3k−1,11k−4)が一般解になります。
これが、61の倍数なので、3k−1≡0 (mod 61)、11k−4≡0 (mod 61)
の解
を調べればいいです。二つの一般解は、61m+41、61m+17 です。
これは証明はしてませんが、無限個あるkの解をいれるとαが出ますが、それはいくつか
が循環します。あと四つなので、0に近い4つを選びます。
k=41、17、−44、−20 を代入して、
(x,y)=(122,447)、(50,183)、(−133,−488)、(−61,−224)
これを式に代入して、大きい方を出すと、 1342、550、1464、672 が出ます。
これに、初めの 793、1221 を入れると全てです。
α=1、550、672、793、1221、1342、1464、2013
このやり方は、2013でなくても、因数が3つの場合ならすべてに使えると思います。3つ
以上でもたぶん使えると思います。(HP管理者権限で、一部表現を修正させて頂きました。)
FNさんからのコメントです。(平成24年1月21日付け)
うーん、結果は正しいと思いますが、正確な言葉を使って解答としてまとめてほしいです
ね!この問題は、大学入試には無理ですが、その最大の理由は、hasuさんの解答の最
初のケースの解を1つみつけることを要求するのが、大学入試では妥当ではないからです。
数学では論理的には多少甘くてもいいから新しいことを発見することは重要です。それが
正しいことを論理的に厳密に証明することも重要です。この2つを両輪として進みます。
hasuさんの解法は、発見的思考としてはいい線いってると思いますので、あとは解答が
きちんと書ければと思います。(HP管理者権限で、一部表現を修正させて頂きました。)
空舟さんからのコメントです。(平成24年1月21日付け)
hasu さんの解法を読むと、当てずっぽうに探したかのように思われました。ユークリッド
の互除法を使う有名な方法がありますので、ぜひ知っておくとよいでしょう。
33x−61y=1 となる x、y を探すには、[33(x−2y)+5y=33A+5y と変数を置き換えて]
33A+5y=1 となるA、yを見つければよい。[3A+5(6A+y)=3A+5B と置き換えて]
3A+5B=1 となるA、Bを見つければよい。
ここまでこれば、 A=2、B=−1 はもう自明で、それを元の方へ復元するようにして、
6A+y=B から、 y=−13 で、x−2y=A から、 x=−24
と解を求めることができます。
余談になりますが、以前触れたように、共通因数を持たない多項式P(x)、Q(x)に対して、
A(x)P(x)+B(x)Q(x)=1
となる多項式A(x)、B(x)を構成できます。具体的に求める計算が、この整数の時と同様の
方法となります。これを使うと、P(x)=0 の時に、1/Q(x)と値が恒等となる多項式B(x)を求
めることができます。
FNさんからのコメントです。(平成24年1月21日付け)
先ほどは、論証の方が気になって、解を構成する方はお留守になってしまいました。私自
身がこの問題を解こうとしたとき、
33x−61y=1 以外の2つの方程式 671x−3y=1、183x−11y=1
の解は容易に見
つかって、33x−61y=1 については、そんなに簡単にはいかんな、互除法でやるのが筋
だけど、どうするんだったっけ、面倒だな、でやめてしまいました。
高校では、ユークリッドの互除法は最大公約数を求める1つの方法として簡単に書いてあ
るだけです。高校で教えていたころの私もその程度の理解でした。互除法の重要性に気が
ついたのは仕事をやめた後でした。高校生が互除法を使って、33x−61y=1 を解くことが
できないのは普通のことだと思います。しかし、重要な方法なので、hasuさんのような優秀
な高校生には是非修得して欲しいものです。互除法を使って得られた最大公約数は「だし」
なのか「だしがら」なのか、一概には言えません。
(コメント) 私が高校生の頃は、普通に数学Tの授業で「ユークリッドの互除法」が教えられ
ていましたが、最近の高校では教えられていないような...雰囲気。平成24年度
入学生からの新学習指導要領で、久々の復活となるのではないでしょうか?
これまで学習指導要領上ではあいまいな立場だった「ユークリッドの互除法」が、
新学習指導要領では数学Aに確固たる市民権を得て、高校では教えられていな
いが、大学入試では平然と出題されていた整数問題が、文部科学省の追認で、
後ろめたさもなくなり、今後脚光を浴びていくのでしょうね!
私にとって、「ユークリッドの互除法」は、もちろん「だし」ですね!「ユークリッドの
互除法」を出発点として、豊穣な整数の世界が味わえることに感謝しています。
FNさんからのコメントです。(平成24年1月23日付け)
上記で、誤解があってはいけないので補足します。私が書いたのは互除法を使って得られ
た「最大公約数」が「だし」か「だしがら」ということです。「ユークリッドの互除法」自身が「だし
がら」であることはありません。
ユークリッドの互除法を使って最大公約数は得られるけど、それ以外に得られるものの方
が大事な場合が少なくないのではないかということです。
(コメント) 最大公約数自身、その豊かな応用に目を見張ります。高校数学では、最大公約
数を求めてそれで終わりという場合が少なくないですが、整数論を知っている方だ
ったら、その恩恵により理論展開が進んだという経験をお持ちと思います。公開鍵
方式の暗号理論も背景には最大公約数がありますので、世間一般の人は、最大
公約数のおかげで安心して生活できていると言っても過言ではないでしょう。
hasu さんからのコメントです。(平成24年1月23日付け)
いくつかの数を調べていて、いくつかの数で等式(*)が成り立つのを見つけましたが、す
べてで成り立つという証明ができません。発想だけでもいいので教えて下さい。
Nを、三つの素数で割れて、かつ、一度ずつしか割れない数とします。空舟さんの証明よ
り、Nを法とする循環数は8個あります。それを小さい順に並べて番号をつけます。
(τ1=1、・・・、τ8=N)
以後、=は、Nを法とする合同を表すとします。
等式(*) τ2+τ3+τ4=1
この式が成り立つと仮定すると、多くの等式を見つけることができます。
まずτkを循環数とすると、1−τkも循環数で、1−τk=τ9-k となる。
実際に、 (1−τk)2=1−2τk+τk2=1−τk
τ9-k はτの番号付けが小さい順なので明らか。
次に、足し算についてです。
τ2+τ3+τ4=1 → τ2+τ3=1-τ4=τ5
τ2+τ3+τ4=1 → τ2+τ4=1-τ3=τ6
τ2+τ3+τ4=1 → τ3+τ4=1-τ2=τ7
基本的には、この形は、これ以外にありませんが、上の式から他にも綺麗な式を出すこと
ができます。30.42の表を載せます。
(30) _|__1__2__3__4__5__6__7__8_ | 1| 5 1 | 2| 5 6 2 | 3| 5 7 3 | 4| 5 6 7 4 | 5| 5 | 6| 6 | 7| 7 | 8| 1 2 3 4 5 6 7 8 |
(42) _|__1__2__3__4__5__6__7__8_ | 1| 5 1 | 2| 5 6 2 | 3| 5 7 3 | 4| 5 6 7 4 | 5| 5 | 6| 6 | 7| 7 | 8| 1 2 3 4 5 6 7 8 |
最後に掛け算です。上の3つの式より、
(τ2+τ3)2=τ22+2τ2τ3+τ32=τ2+τ3
なので、 2τ2τ3=0 同様に、 2τ2τ4=0 、2τ3τ4=0
よって、 τ2τ3=τ2τ4=2τ3τ4=0 or N/2 となります。30.42の表を載せます。
(30) _|__1__2__3__4__5__6__7__8_ | 1| 1 2 3 4 5 6 7 8 | 2| 2 2 8 8 2 2 8 8 | 3| 3 8 3 8 3 8 3 8 | 4| 4 8 8 4 8 4 4 8 | 5| 5 2 3 8 5 2 3 8 | 6| 6 2 8 4 2 6 4 8 | 7| 7 8 3 4 3 4 7 8 | 8| 8 8 8 8 8 8 8 8 |
(42) _|__1__2__3__4__5__6__7__8_ | 1| 1 2 3 4 5 6 7 8 | 2| 2 2 4 4 6 6 8 8 | 3| 3 4 3 4 7 8 7 8 | 4| 4 4 4 4 8 8 8 8 | 5| 5 6 7 8 5 6 7 8 | 6| 6 6 8 8 6 6 8 8 | 7| 7 8 7 8 7 8 7 8 | 8| 8 8 8 8 8 8 8 8 |
τkτn+τk(1−τn)=τkτn+τkτ9-n=τk より、4.5の間に入る線で対称形にな
ります。可換なので、対角線でも対称なので、 τ2τ3・τ2τ4・2τ3τ4 の三つからすべて
が決まることがわかります。
τ2τ3=τ2τ4=2τ3τ4=0 or N/2
より、すべての掛け算の表は上の二種類になることがわかります。
FNさんからのコメントです。(平成24年1月23日付け)
等式(*) τ2+τ3+τ4=1
について、N=2013=3・11・61 の場合で成立してませんね。この場合に成立するのは、
τ5+τ6+τ7=1 です。
「小さい順に並べる」というのがあまり意味がないと思います。ある3つの数について、和
が1になるというのなら成り立つ可能性があります。もう少しきちんと書きます。
N=pqr (p、q、r は素数で、p<q<r) とし、mod N での合同を、=で表す。
x2=x の解は8個あり、自明な解 x=0、1 以外に、6個の解があるが、pq
の倍数であ
る解が1つある。それを s とする。同様に、qr、rp の倍数である解が1つあるので、これら
を t、u とする。1-s、1-t、1-u も解であり、以上の8個が解のすべてである。
1-s、1-t、1-u は、それぞれ r、p、q の倍数である。
st=0、tu=0、us=0 である。このことから、 (s+t+u)2=s2+t2+u2=s+t+u となる。
だから、s+t+u は8個のうちのどれかである。s、t、u でないことはすぐわかる。
0、1-s、1-t、1-u でないことが証明できれば、 s+t+u=1 が言える。
(証明できそうな気はしますが...。)
hasu さんからのコメントです。(平成24年1月23日付け)
「N=2013=3・11・61 の場合で成立してませんね。」について、
すみません、2013は調べていませんでした。小さい順に並べたのは分かりやすいからと形
がきれいになるからです。
補題 An=Am+1 (mod Ac) は成り立たない。
上の式は、An-m=As=1 (mod Ac) となります。As=Ack+1 より、この=は合同では
ないので、この式は成り立ちません。よって補題は正しい。
FNさんと同じ記号を使います。
S+T+U=1-Sとします。pq|S、qr|T、rp|U、r|1-S より、S以外
r の倍数なので、こ
の式は成り立ちません。S+T+U=1-T、S+T+U=1-U も同様なので、
S+T+U=1 or 0
となります。S+T+U=N も上と同様に、r だけで見ると成り立ちません。
よって、S+T+U=1 になります。ありがとうございます、たぶんできたと思います。
空舟さんが、循環数同士の和について考察されました。(平成24年1月24日付け)
法 N=2・3・5・7 の場合について調べてみました。xy=N となる(互いに素な)2つの数
x、y に
対して、x で割り切れて、1を引くと yで割り切れる数 q を一覧にしました。
(yで割ると1余るという言い方をしないのは、y=1への考慮です。)
x y q | x y q | x y q | ||
1 210 1 2 105 106≡120+196≡126+190≡70+36 3 70 141≡120+ 21≡126+ 15≡105+36 5 42 85≡120+175≡ 70+ 15≡105+190 7 30 91≡126+175≡ 70+ 21≡105+196 |
6 35 36≡120+126 10 21 190≡120+ 70 14 15 196≡126+ 70 15 14 15≡120+105 21 10 21≡126+105 35 6 175≡ 70+105 |
30
7 120 42 5 126 70 3 70 105 2 105 210 1 0 |
和が成り立つ例を書き込んでみると、次のように理解できます。
上の一覧から2つの行(x1,y1,q1)と(x2,y2,q2)を選んだ時
(1) y1とy2が互いに素ならば、q1+q2は、y=y1・y2の行のqと等しくなる。
q1+q2は、x1とx2の最大公約数=N/y1y2で割り切れて、1を引くと、y1でもy2でも割り切れ
る数になるはずだから。
(2) x1とx2が互いに素ならば、q1+q2は、x=x1・x2の行のqに1を足した数となる。
q1+q2は、1を引くと、x1でもx2でも割り切れて、x1にもx2にも含まれないNの素因数につ
いては、2を引くと割り切れるような数となるから。
他に、例えば、15+21=36等が見つかりますが、
15=3・5で割り切れて1を引くと、2・7で割り切れる数
21=3・7で割り切れて1を引くと、2・5で割り切れる数
15+21 3で割り切れて、1を引くと、5・7で割り切れて、2を引くと、2で割り切れる数
というように、この式では素因数2が特異的に効いています。
後から思いついたこと:
数AをNの素因数 2、3、5、7 で割った余りが、a、b、c、d であるとき、A=[a,b,c,d]と表
記してみます。表記は1対1対応になります。
0≦a、b、c、d≦1の時に循環数となるわけですが、和と積について、
[a,b,c,d]+[e,f,g,h]=[a+e,b+f,c+g,d+h]
[a,b,c,d]*[e,f,g,h]=[ae,bf,cg,dh]
であるので、このような表記を使って考察すると見通しが良かったと思います。
FNさんからのコメントです。(平成24年1月24日付け)
なるほど、そういうことだったのですね。すっきりしました。A=[a,b,c,d]
としたときに、a、
b、c、dが、0か1であることが必要十分ということですね。だから、24個あるのは当たり前と
いうことになります。
hasuさんの s + t + u = 1 は、[1,0,0]+[0,1,0]+[0,0,1]=[1,1,1] ということですね。
A=[a,b,c,d]という表記について、一般の場合、即ち、
N=pe・qf・・・・・rg (p、q、・・・、r は、異なる素数で、e、f、・・・、g は自然数)
の場合でもそのままで大丈夫ですね。Aと[a,b,・・・,c] が1対1に対応するのに必要なの
は、いわゆる中国剰余定理だけだから大丈夫だし、N=pe のとき、x2=x を満たすのが、
x=0、1だけであるのもすぐわかります。
以下、工事中!