「2 の 100 乗の末尾 2 桁は」「1 / 7 1/7 1/7 を小数にすると、なぜ同じ数字が繰り返すのか」といった素朴な疑問は、整数を割った余りだけに注目すると、見通しよく答えられます。この記事では、余りで整数を扱う記法(合同式)を使って、倍数の見分け方、冪の余りが繰り返す仕組み、循環小数、直角三角形の辺の整数比、x 2 − 2 y 2 = 1 x^2-2y^2=1 x 2 − 2 y 2 = 1 のような方程式の整数解を、同じ考え方で説明します。読み終えると、これらの問題を余りの計算に置き換えて解けるようになります。
合同式の計算規則・消去法則・Euler の定理・Fermat の小定理・中国剰余定理は、大学の初等整数論の記事に証明があります。この記事ではそれらを <Ref> で指し、高校の問題でよく使う形 に仕立てます。
倍数の判定法 (3・9・11 の倍数、7 ⋅ 11 ⋅ 13 = 1001 7\cdot11\cdot13=1001 7 ⋅ 11 ⋅ 13 = 1001 による判定)は、10 ≡ 1 10\equiv1 10 ≡ 1 、10 ≡ − 1 10\equiv-1 10 ≡ − 1 、1000 ≡ − 1 1000\equiv-1 1000 ≡ − 1 という合同式の言い換えです。
法 m m m での a a a の位数 は a k ≡ 1 a^k\equiv1 a k ≡ 1 となる最小の k k k 。a k ≡ 1 a^k\equiv1 a k ≡ 1 となる k k k はすべて位数の倍数で、位数は φ ( m ) \varphi(m) φ ( m ) の約数です。冪の余りは位数を周期として繰り返します。
Wilson の定理 : 素数 p p p について ( p − 1 ) ! ≡ − 1 ( m o d p ) (p-1)!\equiv-1\pmod p ( p − 1 )! ≡ − 1 ( mod p ) 。逆も成り立ち、素数判定の条件になります。
有理数の小数展開は有限小数か循環小数で、循環節の長さは 10 の位数 です。
原始ピタゴラス数は ( m 2 − n 2 , 2 m n , m 2 + n 2 ) (m^2-n^2,\,2mn,\,m^2+n^2) ( m 2 − n 2 , 2 mn , m 2 + n 2 ) の形に限り、単位円上の有理点は有理数 t t t でパラメータ表示できます。
Pell 方程式 x 2 − d y 2 = 1 x^2-dy^2=1 x 2 − d y 2 = 1 (d d d は平方数でない)には必ず正の整数解があり(Dirichlet の近似定理と鳩の巣原理で証明します)、正の解は最小解の冪で尽くされます。
この記事で使う事前知識
約数・互除法・Bézout の等式 : 整数どうしの割り算と最大公約数の求め方、gcd ( a , b ) = a x + b y \gcd(a,b)=ax+by g cd( a , b ) = a x + b y と書けるという事実。→ 整数の性質 I
連分数 : 実数を分数の入れ子で近似する表し方。前の記事で扱った近似分数の例を、Pell 方程式の例で参照します。→ 整数の性質 I
剰余環 : 整数を m m m で割った余りで分類し、余りどうしで足し算と掛け算を考えるしくみ。→ 剰余環
単元群 : 法 m m m で掛けて 1 1 1 になる相手(逆元)をもつ余り、つまり m m m と互いに素な余りの集まり。→ 単元群
整列性 : 正の整数の空でない集まりには、必ず最小の元がある、という性質。→ 整列性
高校の整数問題では、合同式を使うと見通しがよくなる場面が多くあります。「2 100 2^{100} 2 100 の末尾 2 桁」「ある数が 7 の倍数か」「1 / 7 1/7 1/7 の小数展開が 142857 142857 142857 の繰り返しになる理由」「x 2 − 2 y 2 = 1 x^2-2y^2=1 x 2 − 2 y 2 = 1 の整数解を全部求めよ」。これらはバラバラの問題に見えて、すべて剰余類の乗法 (位数・単元)の話です。
この記事は、前の記事(整数の性質 I )で作った道具(付値(素数 p p p が何回割り切れるかを表す数)・Bézout・連分数)に、合同式の言葉を加えて、これらの問題を同じ土台で証明します。
整数 a , b a,b a , b と正の整数 m m m について、m ∣ ( a − b ) m\mid(a-b) m ∣ ( a − b ) のとき a ≡ b ( m o d m ) a\equiv b\pmod m a ≡ b ( mod m ) と書きます(定義 3.1[合同式とフェルマーの小定理] )。和・差・積・冪は、合同式の両辺に使えます(命題 3.3[合同式とフェルマーの小定理] )。割り算は注意が必要で、c a ≡ c b ( m o d m ) ca\equiv cb\pmod m c a ≡ c b ( mod m ) から a ≡ b a\equiv b a ≡ b が言えるのは gcd ( c , m ) = 1 \gcd(c,m)=1 g cd( c , m ) = 1 のときだけです(命題 3.6[合同式とフェルマーの小定理] )。より正確には c a ≡ c b ( m o d m ) ⟺ a ≡ b ( m o d m / gcd ( c , m ) ) ca\equiv cb\pmod m\iff a\equiv b\pmod{m/\gcd(c,m)} c a ≡ c b ( mod m ) ⟺ a ≡ b ( mod m / g cd( c , m )) 。
たとえば法 6 6 6 で 2 ⋅ 1 = 2 2\cdot1=2 2 ⋅ 1 = 2 と 2 ⋅ 4 = 8 2\cdot4=8 2 ⋅ 4 = 8 は合同(差が 6 6 6 )ですが、1 1 1 と 4 4 4 は合同ではありません(差が 3 3 3 )。gcd ( 2 , 6 ) = 2 \gcd(2,6)=2 g cd( 2 , 6 ) = 2 で、割れるのは法を 6 / 2 = 3 6/2=3 6/2 = 3 に縮めたときだけで、実際 1 ≡ 4 ( m o d 3 ) 1\equiv4\pmod3 1 ≡ 4 ( mod 3 ) です。
命題 2.1 (倍数の判定法 ) ✓
正の整数 N N N の 10 進表示を N = ∑ i = 0 k d i 10 i N=\sum_{i=0}^kd_i10^i N = ∑ i = 0 k d i 1 0 i (0 ≤ d i ≤ 9 0\le d_i\le9 0 ≤ d i ≤ 9 )とする。
N ≡ ∑ i d i ( m o d 9 ) N\equiv\sum_id_i\pmod9 N ≡ ∑ i d i ( mod 9 ) 。したがって 9 9 9 (および 3 3 3 )で割り切れるための必要十分条件は、各位の数字の和が 9 9 9 (3 3 3 )で割り切れること。
N ≡ ∑ i ( − 1 ) i d i ( m o d 11 ) N\equiv\sum_i(-1)^id_i\pmod{11} N ≡ ∑ i ( − 1 ) i d i ( mod 11 ) 。11 11 11 で割り切れるのは、交代和 d 0 − d 1 + d 2 − ⋯ d_0-d_1+d_2-\cdots d 0 − d 1 + d 2 − ⋯ が 11 11 11 で割り切れるとき。
N N N を下から 3 桁ずつの組 g 0 , g 1 , … g_0,g_1,\dots g 0 , g 1 , … に分けて N = ∑ j g j 1000 j N=\sum_jg_j1000^j N = ∑ j g j 100 0 j とすると、N ≡ ∑ j ( − 1 ) j g j ( m o d 1001 ) N\equiv\sum_j(-1)^jg_j\pmod{1001} N ≡ ∑ j ( − 1 ) j g j ( mod 1001 ) 。1001 = 7 ⋅ 11 ⋅ 13 1001=7\cdot11\cdot13 1001 = 7 ⋅ 11 ⋅ 13 なので、N N N が 7 7 7 や 11 11 11 や 13 13 13 で割り切れるかは、この交代和でも判定できる。
N N N を 2 e 2^e 2 e や 5 e 5^e 5 e (e ≤ k + 1 e\le k+1 e ≤ k + 1 )で割った余りは、下 e e e 桁の数で決まる。とくに 4 4 4 で割り切れるかは下 2 桁、8 8 8 で割り切れるかは下 3 桁で決まる。
証明(命題 2.1)
10 ≡ 1 ( m o d 9 ) 10\equiv1\pmod9 10 ≡ 1 ( mod 9 ) なので 命題 3.3[合同式とフェルマーの小定理] から 10 i ≡ 1 10^i\equiv1 1 0 i ≡ 1 、N ≡ ∑ d i N\equiv\sum d_i N ≡ ∑ d i 。3 ∣ 9 3\mid9 3 ∣ 9 なので ( m o d 3 ) \pmod3 ( mod 3 ) でも同じ。
10 ≡ − 1 ( m o d 11 ) 10\equiv-1\pmod{11} 10 ≡ − 1 ( mod 11 ) から 10 i ≡ ( − 1 ) i 10^i\equiv(-1)^i 1 0 i ≡ ( − 1 ) i 。
1000 = 1001 − 1 ≡ − 1 ( m o d 1001 ) 1000=1001-1\equiv-1\pmod{1001} 1000 = 1001 − 1 ≡ − 1 ( mod 1001 ) から 1000 j ≡ ( − 1 ) j 1000^j\equiv(-1)^j 100 0 j ≡ ( − 1 ) j 。
10 i 10^i 1 0 i は i ≥ e i\ge e i ≥ e で 2 e 2^e 2 e の倍数かつ 5 e 5^e 5 e の倍数(10 e = 2 e 5 e 10^e=2^e5^e 1 0 e = 2 e 5 e )なので、N ≡ ∑ i < e d i 10 i ( m o d 2 e ) N\equiv\sum_{i<e}d_i10^i\pmod{2^e} N ≡ ∑ i < e d i 1 0 i ( mod 2 e ) 、( m o d 5 e ) \pmod{5^e} ( mod 5 e ) 。
∎
例 2.2 (1234567 は 7 の倍数か )
1234567 1234567 1234567 を 3 桁ずつに分けて 1 ∣ 234 ∣ 567 1|234|567 1∣234∣567 。交代和は 567 − 234 + 1 = 334 567-234+1=334 567 − 234 + 1 = 334 。334 = 7 ⋅ 47 + 5 334=7\cdot47+5 334 = 7 ⋅ 47 + 5 なので 7 7 7 で割り切れず、余りは 5 5 5 です(命題 2.1 の 3. は、余りまで ( m o d 1001 ) \pmod{1001} ( mod 1001 ) で保つので、1234567 ≡ 334 ( m o d 1001 ) 1234567\equiv334\pmod{1001} 1234567 ≡ 334 ( mod 1001 ) 、したがって m o d 7 \bmod7 mod 7 で 334 ≡ 5 334\equiv5 334 ≡ 5 )。実際 1234567 = 7 ⋅ 176366 + 5 1234567=7\cdot176366+5 1234567 = 7 ⋅ 176366 + 5 です。
定義 3.1 (位数 ) ↗
m ≥ 2 m\ge2 m ≥ 2 を整数、a a a を gcd ( a , m ) = 1 \gcd(a,m)=1 g cd( a , m ) = 1 の整数とする。a k ≡ 1 ( m o d m ) a^k\equiv1\pmod m a k ≡ 1 ( mod m ) となる最小の正の整数 k k k を、法 m m m における a a a の位数 といい ord m ( a ) \operatorname{ord}_m(a) ord m ( a ) と書く。
Euler の定理(定理 5.3[合同式とフェルマーの小定理] )から a φ ( m ) ≡ 1 a^{\varphi(m)}\equiv1 a φ ( m ) ≡ 1 なので、k = φ ( m ) k=\varphi(m) k = φ ( m ) は条件を満たし、位数は存在します。
定理 3.2 (位数は φ(m) を割る ) ✓
gcd ( a , m ) = 1 \gcd(a,m)=1 g cd( a , m ) = 1 、d = ord m ( a ) d=\operatorname{ord}_m(a) d = ord m ( a ) とする。正の整数 k k k について a k ≡ 1 ( m o d m ) ⟺ d ∣ k a^k\equiv1\pmod m\iff d\mid k a k ≡ 1 ( mod m ) ⟺ d ∣ k 。とくに d ∣ φ ( m ) d\mid\varphi(m) d ∣ φ ( m ) である。
証明(定理 3.2) d ∣ k d\mid k d ∣ k なら k = d j k=dj k = d j で a k = ( a d ) j ≡ 1 j = 1 a^k=(a^d)^j\equiv1^j=1 a k = ( a d ) j ≡ 1 j = 1 (命題 3.3[合同式とフェルマーの小定理] )。逆に a k ≡ 1 a^k\equiv1 a k ≡ 1 とする。除法の原理(定理 2.1[合同式とフェルマーの小定理] )で k = q d + r k=qd+r k = q d + r (0 ≤ r < d 0\le r<d 0 ≤ r < d )。a k = ( a d ) q a r ≡ a r a^k=(a^d)^qa^r\equiv a^r a k = ( a d ) q a r ≡ a r なので a r ≡ 1 a^r\equiv1 a r ≡ 1 。d d d の最小性から r = 0 r=0 r = 0 、すなわち d ∣ k d\mid k d ∣ k 。最後に Euler の定理(定理 5.3)[合同式とフェルマーの小定理] より a φ ( m ) ≡ 1 a^{\varphi(m)}\equiv1 a φ ( m ) ≡ 1 なので d ∣ φ ( m ) d\mid\varphi(m) d ∣ φ ( m ) 。
∎
大学では、これは群 ( Z / m Z ) × (\mathbb{Z}/m\mathbb{Z})^\times ( Z / m Z ) × の元の位数が群の位数を割る、という Lagrange の定理の特別な場合です(Euler の定理と Fermat の小定理(定理 7.3)[部分群と剰余類] )。
命題 3.3 (冪の余りの周期 ) ✓
gcd ( a , m ) = 1 \gcd(a,m)=1 g cd( a , m ) = 1 、d = ord m ( a ) d=\operatorname{ord}_m(a) d = ord m ( a ) とする。すべての整数 k , l ≥ 0 k,l\ge0 k , l ≥ 0 について a k ≡ a l ( m o d m ) ⟺ k ≡ l ( m o d d ) a^k\equiv a^l\pmod m\iff k\equiv l\pmod d a k ≡ a l ( mod m ) ⟺ k ≡ l ( mod d ) 。したがって a k m o d m a^k\bmod m a k mod m は d d d を周期として繰り返し、最小の周期はちょうど d d d である。
証明(命題 3.3) k ≥ l k\ge l k ≥ l とする。gcd ( a , m ) = 1 \gcd(a,m)=1 g cd( a , m ) = 1 なので 命題 3.6[合同式とフェルマーの小定理] により a l a^l a l を両辺から消去できて、a k ≡ a l ⟺ a k − l ≡ 1 a^k\equiv a^l\iff a^{k-l}\equiv1 a k ≡ a l ⟺ a k − l ≡ 1 (gcd ( a l , m ) = 1 \gcd(a^l,m)=1 g cd( a l , m ) = 1 に注意。⇐ \Leftarrow ⇐ は両辺に a l a^l a l を掛ければよい)。k = l k=l k = l なら両辺とも成り立ち d ∣ 0 d\mid0 d ∣ 0 も成り立つ。k > l k>l k > l なら a k − l ≡ 1 a^{k-l}\equiv1 a k − l ≡ 1 は 定理 3.2 から d ∣ ( k − l ) d\mid(k-l) d ∣ ( k − l ) と同値。
∎
例 3.4 (冪の下 2 桁 )
7 2 = 49 7^2=49 7 2 = 49 、7 4 = 2401 ≡ 1 ( m o d 100 ) 7^4=2401\equiv1\pmod{100} 7 4 = 2401 ≡ 1 ( mod 100 ) なので ord 100 ( 7 ) ∣ 4 \operatorname{ord}_{100}(7)\mid4 ord 100 ( 7 ) ∣ 4 、また 7 2 = 49 ≢ 1 7^2=49\not\equiv1 7 2 = 49 ≡ 1 だから位数は 4 4 4 。2026 = 4 ⋅ 506 + 2 2026=4\cdot506+2 2026 = 4 ⋅ 506 + 2 より 7 2026 ≡ 7 2 = 49 ( m o d 100 ) 7^{2026}\equiv7^2=49\pmod{100} 7 2026 ≡ 7 2 = 49 ( mod 100 ) 。下 2 桁は 49 49 49 です。位数が分かれば、巨大な冪の余りは周期で圧縮できます。Fermat の小定理(定理 5.1[合同式とフェルマーの小定理] )を使って 7 100 m o d 13 7^{100}\bmod13 7 100 mod 13 を計算すると、7 12 ≡ 1 7^{12}\equiv1 7 12 ≡ 1 より 7 100 = 7 96 ⋅ 7 4 ≡ 7 4 = 2401 ≡ 9 7^{100}=7^{96}\cdot7^4\equiv7^4=2401\equiv9 7 100 = 7 96 ⋅ 7 4 ≡ 7 4 = 2401 ≡ 9 (2401 = 13 ⋅ 184 + 9 2401=13\cdot184+9 2401 = 13 ⋅ 184 + 9 )です。
定理 4.1 (Wilson の定理とその逆 ) ✓
n ≥ 2 n\ge2 n ≥ 2 を整数とする。n n n が素数であることと、( n − 1 ) ! ≡ − 1 ( m o d n ) (n-1)!\equiv-1\pmod n ( n − 1 )! ≡ − 1 ( mod n ) であることは同値である。
素数 p p p のとき、証明では 1 , … , p − 1 1,\dots,p-1 1 , … , p − 1 を、掛けて 1 1 1 になる相手(法 p p p の逆元)どうしでペアにします。たとえば p = 7 p=7 p = 7 なら 2 ⋅ 4 = 8 ≡ 1 2\cdot4=8\equiv1 2 ⋅ 4 = 8 ≡ 1 、3 ⋅ 5 = 15 ≡ 1 3\cdot5=15\equiv1 3 ⋅ 5 = 15 ≡ 1 で、残るのは 1 1 1 と 6 ≡ − 1 6\equiv-1 6 ≡ − 1 だけです。ペアの積は 1 1 1 なので、6 ! ≡ 1 ⋅ 1 ⋅ 1 ⋅ 6 ≡ − 1 6!\equiv1\cdot1\cdot1\cdot6\equiv-1 6 ! ≡ 1 ⋅ 1 ⋅ 1 ⋅ 6 ≡ − 1 となります。自分自身とペアになる数が 1 1 1 と p − 1 p-1 p − 1 だけであることを示すのが、証明の要点です。
証明(定理 4.1) (素数ならば) n = p n=p n = p が素数とする。p = 2 p=2 p = 2 のとき 1 ! = 1 ≡ − 1 ( m o d 2 ) 1!=1\equiv-1\pmod2 1 ! = 1 ≡ − 1 ( mod 2 ) 。p ≥ 3 p\ge3 p ≥ 3 とする。1 , … , p − 1 1,\dots,p-1 1 , … , p − 1 の各 a a a は gcd ( a , p ) = 1 \gcd(a,p)=1 g cd( a , p ) = 1 なので 命題 4.4[合同式とフェルマーの小定理] により法 p p p の逆元 a ′ a' a ′ (a a ′ ≡ 1 aa'\equiv1 a a ′ ≡ 1 )が { 1 , … , p − 1 } \{1,\dots,p-1\} { 1 , … , p − 1 } の中にただ 1 つある。a ′ = a a'=a a ′ = a 、すなわち a 2 ≡ 1 a^2\equiv1 a 2 ≡ 1 のとき p ∣ ( a − 1 ) ( a + 1 ) p\mid(a-1)(a+1) p ∣ ( a − 1 ) ( a + 1 ) で、素数に関する Euclid の補題(補題 4.1)[素数の魅力と素数定理] から a ≡ 1 a\equiv1 a ≡ 1 か a ≡ − 1 a\equiv-1 a ≡ − 1 、すなわち a = 1 a=1 a = 1 か a = p − 1 a=p-1 a = p − 1 。それ以外の a ∈ { 2 , … , p − 2 } a\in\{2,\dots,p-2\} a ∈ { 2 , … , p − 2 } は、a ≠ a ′ a\ne a' a = a ′ の組 { a , a ′ } \{a,a'\} { a , a ′ } に分かれ(a ′ ∈ { 2 , … , p − 2 } a'\in\{2,\dots,p-2\} a ′ ∈ { 2 , … , p − 2 } :a ′ ≡ 1 a'\equiv1 a ′ ≡ 1 なら a ≡ 1 a\equiv1 a ≡ 1 、a ′ ≡ − 1 a'\equiv-1 a ′ ≡ − 1 なら a ≡ − 1 a\equiv-1 a ≡ − 1 になってしまうので)、各組の積は a a ′ ≡ 1 aa'\equiv1 a a ′ ≡ 1 。よって 2 ⋅ 3 ⋯ ( p − 2 ) ≡ 1 2\cdot3\cdots(p-2)\equiv1 2 ⋅ 3 ⋯ ( p − 2 ) ≡ 1 、( p − 1 ) ! = 1 ⋅ ( 2 ⋯ ( p − 2 ) ) ⋅ ( p − 1 ) ≡ p − 1 ≡ − 1 (p-1)!=1\cdot(2\cdots(p-2))\cdot(p-1)\equiv p-1\equiv-1 ( p − 1 )! = 1 ⋅ ( 2 ⋯ ( p − 2 )) ⋅ ( p − 1 ) ≡ p − 1 ≡ − 1 。
(逆) n n n が素数でないとする。n ≥ 2 n\ge2 n ≥ 2 なので 1 < a < n 1<a<n 1 < a < n の約数 a a a がある。a ≤ n − 1 a\le n-1 a ≤ n − 1 だから a ∣ ( n − 1 ) ! a\mid(n-1)! a ∣ ( n − 1 )! 。もし ( n − 1 ) ! ≡ − 1 ( m o d n ) (n-1)!\equiv-1\pmod n ( n − 1 )! ≡ − 1 ( mod n ) なら n ∣ ( n − 1 ) ! + 1 n\mid(n-1)!+1 n ∣ ( n − 1 )! + 1 で、a ∣ n a\mid n a ∣ n だから a ∣ ( n − 1 ) ! + 1 a\mid(n-1)!+1 a ∣ ( n − 1 )! + 1 。a ∣ ( n − 1 ) ! a\mid(n-1)! a ∣ ( n − 1 )! と合わせて a ∣ 1 a\mid1 a ∣ 1 となり、a > 1 a>1 a > 1 に反する。ゆえに ( n − 1 ) ! ≢ − 1 (n-1)!\not\equiv-1 ( n − 1 )! ≡ − 1 。
∎
例 4.2 (Wilson の定理で階乗の余りを求める )
p = 23 p=23 p = 23 で 22 ! ≡ − 1 ( m o d 23 ) 22!\equiv-1\pmod{23} 22 ! ≡ − 1 ( mod 23 ) 。22 ! = 22 ⋅ 21 ⋅ 20 ! ≡ ( − 1 ) ( − 2 ) ⋅ 20 ! = 2 ⋅ 20 ! 22!=22\cdot21\cdot20!\equiv(-1)(-2)\cdot20!=2\cdot20! 22 ! = 22 ⋅ 21 ⋅ 20 ! ≡ ( − 1 ) ( − 2 ) ⋅ 20 ! = 2 ⋅ 20 ! なので 2 ⋅ 20 ! ≡ − 1 ≡ 22 2\cdot20!\equiv-1\equiv22 2 ⋅ 20 ! ≡ − 1 ≡ 22 、20 ! ≡ 11 ( m o d 23 ) 20!\equiv11\pmod{23} 20 ! ≡ 11 ( mod 23 ) (2 ⋅ 11 = 22 ≡ − 1 2\cdot11=22\equiv-1 2 ⋅ 11 = 22 ≡ − 1 )。Wilson の定理は素数判定のアルゴリズムとしては ( n − 1 ) ! (n-1)! ( n − 1 )! の計算が重すぎて実用になりませんが、「合成数でも素数でも、階乗の余りがこれほど鮮やかに分かれる」ことを示しています。
実数 0 ≤ x < 1 0\le x<1 0 ≤ x < 1 の小数展開 0. d 1 d 2 d 3 ⋯ 0.d_1d_2d_3\cdots 0. d 1 d 2 d 3 ⋯ とは、部分和 s n = ∑ k ≤ n d k 10 − k s_n=\sum_{k\le n}d_k10^{-k} s n = ∑ k ≤ n d k 1 0 − k の上限が x x x であることをいいます(定義 6.1[数とは何か] )。有理数 a / b a/b a / b (0 ≤ a < b 0\le a<b 0 ≤ a < b )の小数展開は、筆算(割り算)の手順で作れます。r 0 = a r_0=a r 0 = a とし、k = 1 , 2 , … k=1,2,\dots k = 1 , 2 , … について
d k = ⌊ 10 r k − 1 b ⌋ , r k = 10 r k − 1 − d k b d_k=\Bigl\lfloor\frac{10r_{k-1}}b\Bigr\rfloor,\qquad r_k=10r_{k-1}-d_kb d k = ⌊ b 10 r k − 1 ⌋ , r k = 10 r k − 1 − d k b
と定めます(r k r_k r k は筆算の「余り」で 0 ≤ r k < b 0\le r_k<b 0 ≤ r k < b 、d k ∈ { 0 , … , 9 } d_k\in\{0,\dots,9\} d k ∈ { 0 , … , 9 } )。
定理 5.1 (有理数と循環小数 ) ✓
有理数 a / b a/b a / b (0 ≤ a < b 0\le a<b 0 ≤ a < b )について、上の手順で得られる d 1 , d 2 , … d_1,d_2,\dots d 1 , d 2 , … は a / b a/b a / b の小数展開であり、ある位置から先は繰り返す(有限小数は 0 0 0 の繰り返しとみなす)。
逆に、ある位置から先で同じ数字の並びを繰り返す小数展開 0. d 1 ⋯ d s c 1 ⋯ c t ‾ 0.d_1\cdots d_s\overline{c_1\cdots c_t} 0. d 1 ⋯ d s c 1 ⋯ c t の値は有理数である。
証明(定理 5.1)
帰納法で a b = ∑ k = 1 n d k 10 k + r n b 10 n \dfrac ab=\sum_{k=1}^n\dfrac{d_k}{10^k}+\dfrac{r_n}{b\,10^n} b a = ∑ k = 1 n 1 0 k d k + b 1 0 n r n が示される(n = 0 n=0 n = 0 は自明、10 r n − 1 = d n b + r n 10r_{n-1}=d_nb+r_n 10 r n − 1 = d n b + r n より r n − 1 b 10 n − 1 = d n 10 n + r n b 10 n \dfrac{r_{n-1}}{b10^{n-1}}=\dfrac{d_n}{10^n}+\dfrac{r_n}{b10^n} b 1 0 n − 1 r n − 1 = 1 0 n d n + b 1 0 n r n )。よって 0 ≤ a b − s n = r n b 10 n < 10 − n 0\le\dfrac ab-s_n=\dfrac{r_n}{b10^n}<10^{-n} 0 ≤ b a − s n = b 1 0 n r n < 1 0 − n 。s n ≤ a b s_n\le\dfrac ab s n ≤ b a なので上限は a b \dfrac ab b a 以下で、任意の y < a b y<\dfrac ab y < b a に対し アルキメデスの原理(命題 5.4)[数とは何か] で 10 − n ≤ 1 n < a b − y 10^{-n}\le\frac1n<\dfrac ab-y 1 0 − n ≤ n 1 < b a − y となる n n n をとれば s n > y s_n>y s n > y 。したがって上限は a b \dfrac ab b a 。余り r 0 , r 1 , … , r b r_0,r_1,\dots,r_b r 0 , r 1 , … , r b は { 0 , 1 , … , b − 1 } \{0,1,\dots,b-1\} { 0 , 1 , … , b − 1 } の b + 1 b+1 b + 1 個の値をとるので、鳩の巣原理(定理 7.5)[数え上げと母関数] によりある i < j ≤ b i<j\le b i < j ≤ b で r i = r j r_i=r_j r i = r j 。( d k + 1 , r k + 1 ) (d_{k+1},r_{k+1}) ( d k + 1 , r k + 1 ) は r k r_k r k だけで決まるので、k ≥ i k\ge i k ≥ i で r k + ( j − i ) = r k r_{k+(j-i)}=r_k r k + ( j − i ) = r k 、d k + 1 + ( j − i ) = d k + 1 d_{k+1+(j-i)}=d_{k+1} d k + 1 + ( j − i ) = d k + 1 となり、数字は第 i + 1 i+1 i + 1 位から先で周期 j − i j-i j − i で繰り返す。
A = 0. d 1 ⋯ d s A=0.d_1\cdots d_s A = 0. d 1 ⋯ d s (有限小数、有理数)、C = c 1 ⋯ c t C=c_1\cdots c_t C = c 1 ⋯ c t (t t t 桁の整数)とする。繰り返し部分の値は ∑ j ≥ 1 C 10 − s 10 − t j = C 10 − s ( 1 1 − 10 − t − 1 ) = C 10 s ( 10 t − 1 ) \sum_{j\ge1}C\,10^{-s}10^{-tj}=C\,10^{-s}\Bigl(\dfrac1{1-10^{-t}}-1\Bigr)=\dfrac{C}{10^s(10^t-1)} ∑ j ≥ 1 C 1 0 − s 1 0 − t j = C 1 0 − s ( 1 − 1 0 − t 1 − 1 ) = 1 0 s ( 1 0 t − 1 ) C (等比級数、命題 6.2[数とは何か] )。したがって値は A + C 10 s ( 10 t − 1 ) A+\dfrac C{10^s(10^t-1)} A + 1 0 s ( 1 0 t − 1 ) C で、有理数。
∎
定理 5.2 (循環節の長さは 10 の位数 ) ✓
既約分数 a b \dfrac ab b a (0 < a < b 0<a<b 0 < a < b 、gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 )の分母を b = 2 α 5 β b ′ b=2^\alpha5^\beta b' b = 2 α 5 β b ′ (gcd ( b ′ , 10 ) = 1 \gcd(b',10)=1 g cd( b ′ , 10 ) = 1 )と書き、m = max ( α , β ) m=\max(\alpha,\beta) m = max ( α , β ) とする。
小数展開が有限小数であるための必要十分条件は b ′ = 1 b'=1 b ′ = 1 である。
b ′ > 1 b'>1 b ′ > 1 のとき、小数第 m + 1 m+1 m + 1 位から先は純粋に循環し、その最小の周期 (循環節の長さ)は法 b ′ b' b ′ における 10 10 10 の位数 ord b ′ ( 10 ) \operatorname{ord}_{b'}(10) ord b ′ ( 10 ) である。
証明の方針は次のとおりです。分母の 2 2 2 と 5 5 5 の部分は、小数点を m m m 桁ずらすと消えます。その後に残る分母 b ′ b' b ′ の部分では、筆算の余りが「10 10 10 倍して b ′ b' b ′ で割った余りをとる」操作で更新されるので、k k k 回後の余りは元の余りの 10 k 10^k 1 0 k 倍(法 b ′ b' b ′ )になります。余りが最初に戻るのは 10 k ≡ 1 10^k\equiv1 1 0 k ≡ 1 となるときで、その最小の k k k がちょうど位数です。
証明(定理 5.2)
b ′ = 1 b'=1 b ′ = 1 なら 10 m a b = a ⋅ 2 m − α 5 m − β 10^m\dfrac ab=a\cdot2^{m-\alpha}5^{m-\beta} 1 0 m b a = a ⋅ 2 m − α 5 m − β は整数なので、展開は小数第 m m m 位までで終わる(定理 5.1 の手順で、10 m x 10^mx 1 0 m x が整数なら以後の余りは 0 0 0 )。逆に有限小数 x = N / 10 n x=N/10^n x = N /1 0 n なら、既約分数の分母 b b b は 10 n 10^n 1 0 n を割り(a 10 n = N b a10^n=Nb a 1 0 n = N b で gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 より b ∣ 10 n b\mid10^n b ∣ 1 0 n )、b ′ b' b ′ は 10 n 10^n 1 0 n の約数で gcd ( b ′ , 10 ) = 1 \gcd(b',10)=1 g cd( b ′ , 10 ) = 1 なので b ′ = 1 b'=1 b ′ = 1 。
y = 10 m x = a ′ ′ b ′ y=10^mx=\dfrac{a''}{b'} y = 1 0 m x = b ′ a ′′ 、a ′ ′ = a ⋅ 2 m − α 5 m − β a''=a\cdot2^{m-\alpha}5^{m-\beta} a ′′ = a ⋅ 2 m − α 5 m − β は b ′ b' b ′ と互いに素(a a a は b b b と、2 m − α 5 m − β 2^{m-\alpha}5^{m-\beta} 2 m − α 5 m − β は b ′ b' b ′ と互いに素)。y y y の整数部分を除いた小数部分を f = c b ′ f=\dfrac c{b'} f = b ′ c (0 < c < b ′ 0<c<b' 0 < c < b ′ 、gcd ( c , b ′ ) = 1 \gcd(c,b')=1 g cd( c , b ′ ) = 1 )とおく。一方、定理 5.1 の証明の式から 10 m x = ∑ k ≤ m d k 10 m − k + r m b 10^mx=\sum_{k\le m}d_k10^{m-k}+\dfrac{r_m}b 1 0 m x = ∑ k ≤ m d k 1 0 m − k + b r m (第 1 項は整数)なので、f = r m / b f=r_m/b f = r m / b 。筆算の数字は d k = ⌊ 10 ⋅ r k − 1 / b ⌋ d_k=\lfloor10\cdot r_{k-1}/b\rfloor d k = ⌊ 10 ⋅ r k − 1 / b ⌋ 、r k / b = 10 ⋅ r k − 1 / b − d k r_k/b=10\cdot r_{k-1}/b-d_k r k / b = 10 ⋅ r k − 1 / b − d k と比 r k − 1 / b r_{k-1}/b r k − 1 / b だけで決まるから、x x x の小数第 m + 1 m+1 m + 1 位以降の数字は、f = c / b ′ f=c/b' f = c / b ′ に筆算の手順を適用して得られる数字に一致する。f f f に筆算の手順を適用すると r 0 = c r_0=c r 0 = c 、r k ≡ 10 r k − 1 ( m o d b ′ ) r_k\equiv10r_{k-1}\pmod{b'} r k ≡ 10 r k − 1 ( mod b ′ ) なので r k ≡ 10 k c ( m o d b ′ ) r_k\equiv10^kc\pmod{b'} r k ≡ 1 0 k c ( mod b ′ ) 。r k = r 0 r_k=r_0 r k = r 0 となるのは 10 k c ≡ c 10^kc\equiv c 1 0 k c ≡ c 、すなわち(gcd ( c , b ′ ) = 1 \gcd(c,b')=1 g cd( c , b ′ ) = 1 なので 命題 3.6[合同式とフェルマーの小定理] で c c c を消去して)10 k ≡ 1 ( m o d b ′ ) 10^k\equiv1\pmod{b'} 1 0 k ≡ 1 ( mod b ′ ) のときで、これは 定理 3.2 から L = ord b ′ ( 10 ) L=\operatorname{ord}_{b'}(10) L = ord b ′ ( 10 ) が k k k を割ることと同値。r L = r 0 r_L=r_0 r L = r 0 だから、すべての k ≥ 0 k\ge0 k ≥ 0 で r k + L = r k r_{k+L}=r_k r k + L = r k (r k + 1 r_{k+1} r k + 1 は r k r_k r k だけで決まる)、したがって数字は第 1 位から周期 L L L で繰り返す。周期 ℓ \ell ℓ (d k + ℓ = d k d_{k+\ell}=d_k d k + ℓ = d k )で繰り返すなら、f = 0. d 1 d 2 ⋯ f=0.d_1d_2\cdots f = 0. d 1 d 2 ⋯ について 10 ℓ f = D + f 10^\ell f=D+f 1 0 ℓ f = D + f (D = d 1 ⋯ d ℓ D=d_1\cdots d_\ell D = d 1 ⋯ d ℓ を整数とみたもの)なので ( 10 ℓ − 1 ) c / b ′ = D (10^\ell-1)c/b'=D ( 1 0 ℓ − 1 ) c / b ′ = D は整数。b ′ ∣ ( 10 ℓ − 1 ) c b'\mid(10^\ell-1)c b ′ ∣ ( 1 0 ℓ − 1 ) c 、gcd ( c , b ′ ) = 1 \gcd(c,b')=1 g cd( c , b ′ ) = 1 だから 補題 2.2[整除と素因数分解] により b ′ ∣ 10 ℓ − 1 b'\mid10^\ell-1 b ′ ∣ 1 0 ℓ − 1 、すなわち 10 ℓ ≡ 1 ( m o d b ′ ) 10^\ell\equiv1\pmod{b'} 1 0 ℓ ≡ 1 ( mod b ′ ) で L ∣ ℓ L\mid\ell L ∣ ℓ 。ゆえに ℓ ≥ L \ell\ge L ℓ ≥ L で、最小の周期は L L L 。
∎
例 5.3 (1/7、1/13、1/6 の小数展開 )
10 m o d 7 10\bmod7 10 mod 7 の冪は 3 , 2 , 6 , 4 , 5 , 1 3,2,6,4,5,1 3 , 2 , 6 , 4 , 5 , 1 で ord 7 ( 10 ) = 6 \operatorname{ord}_7(10)=6 ord 7 ( 10 ) = 6 。1 7 = 0. 142857 ‾ \dfrac17=0.\overline{142857} 7 1 = 0. 142857 (周期 6 6 6 )。ord 13 ( 10 ) = 6 \operatorname{ord}_{13}(10)=6 ord 13 ( 10 ) = 6 (10 3 = 1000 ≡ − 1 ( m o d 13 ) 10^3=1000\equiv-1\pmod{13} 1 0 3 = 1000 ≡ − 1 ( mod 13 ) なので 10 6 ≡ 1 10^6\equiv1 1 0 6 ≡ 1 、10 3 ≢ 1 10^3\not\equiv1 1 0 3 ≡ 1 、位数は 6 6 6 の約数で 2 , 3 2,3 2 , 3 では 1 1 1 にならない)で、1 13 = 0. 076923 ‾ \dfrac1{13}=0.\overline{076923} 13 1 = 0. 076923 。1 6 \dfrac16 6 1 は b = 2 ⋅ 3 b=2\cdot3 b = 2 ⋅ 3 、α = 1 \alpha=1 α = 1 、b ′ = 3 b'=3 b ′ = 3 、ord 3 ( 10 ) = 1 \operatorname{ord}_3(10)=1 ord 3 ( 10 ) = 1 で、m = 1 m=1 m = 1 なので小数第 2 2 2 位から先が循環します:0.1 6 ‾ 0.1\overline{6} 0.1 6 。素数 p p p について ord p ( 10 ) \operatorname{ord}_p(10) ord p ( 10 ) が p − 1 p-1 p − 1 に等しいとき、1 / p 1/p 1/ p の循環節の長さは最大の p − 1 p-1 p − 1 になります(p = 7 p=7 p = 7 はその例)。
a 2 + b 2 = c 2 a^2+b^2=c^2 a 2 + b 2 = c 2 を満たす正の整数の組 ( a , b , c ) (a,b,c) ( a , b , c ) をピタゴラス数 、さらに gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 のものを原始ピタゴラス数 といいます。
補題 6.1 (互いに素な数の積が平方数なら、それぞれ平方数 ) ✓
u , v u,v u , v を互いに素な正の整数とし、u v uv uv が平方数ならば、u u u も v v v も平方数である。
証明(補題 6.1) u v = w 2 uv=w^2 uv = w 2 とする。素数 p p p について v p ( u ) + v p ( v ) = v p ( u v ) = 2 v p ( w ) v_p(u)+v_p(v)=v_p(uv)=2v_p(w) v p ( u ) + v p ( v ) = v p ( uv ) = 2 v p ( w ) (命題 5.3[整除と素因数分解] の 1.)は偶数。u , v u,v u , v は互いに素なので、どの素数 p p p も両方を割ることはなく、v p ( u ) v_p(u) v p ( u ) と v p ( v ) v_p(v) v p ( v ) の少なくとも一方は 0 0 0 。したがって他方は偶数で、v p ( u ) , v p ( v ) v_p(u),v_p(v) v p ( u ) , v p ( v ) はともに偶数。u = ∏ p v p ( u ) u=\prod p^{v_p(u)} u = ∏ p v p ( u ) (定理 5.2[整除と素因数分解] )なので u = ( ∏ p v p ( u ) / 2 ) 2 u=\bigl(\prod p^{v_p(u)/2}\bigr)^2 u = ( ∏ p v p ( u ) /2 ) 2 、v v v も同様。
∎
定理 6.2 (原始ピタゴラス数 ) ✓
b b b が偶数であるような原始ピタゴラス数 ( a , b , c ) (a,b,c) ( a , b , c ) は、互いに素な正の整数 m > n m>n m > n で m − n m-n m − n が奇数であるものを用いて
( a , b , c ) = ( m 2 − n 2 , 2 m n , m 2 + n 2 ) (a,b,c)=(m^2-n^2,\ 2mn,\ m^2+n^2) ( a , b , c ) = ( m 2 − n 2 , 2 mn , m 2 + n 2 ) とただ 1 通りに表される。逆に、そのような m , n m,n m , n から作った ( a , b , c ) (a,b,c) ( a , b , c ) は原始ピタゴラス数である。
証明(定理 6.2) ( a , b , c ) (a,b,c) ( a , b , c ) を原始ピタゴラス数とする。a , b a,b a , b がともに偶数なら gcd ( a , b ) ≥ 2 \gcd(a,b)\ge2 g cd( a , b ) ≥ 2 に反する。ともに奇数なら a 2 + b 2 ≡ 2 ( m o d 4 ) a^2+b^2\equiv2\pmod4 a 2 + b 2 ≡ 2 ( mod 4 ) だが、平方数は m o d 4 \bmod4 mod 4 で 0 0 0 か 1 1 1 なので c 2 c^2 c 2 にならない。よって一方だけが偶数で、b b b を偶数、a a a を奇数とする(c c c は奇数)。gcd ( a , c ) = 1 \gcd(a,c)=1 g cd( a , c ) = 1 である:素数 p p p が a , c a,c a , c を割れば p ∣ c 2 − a 2 = b 2 p\mid c^2-a^2=b^2 p ∣ c 2 − a 2 = b 2 なので p ∣ b p\mid b p ∣ b 、gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 に反する。
b 2 = c 2 − a 2 = ( c − a ) ( c + a ) b^2=c^2-a^2=(c-a)(c+a) b 2 = c 2 − a 2 = ( c − a ) ( c + a ) 。c , a c,a c , a はともに奇数なので c − a = 2 u c-a=2u c − a = 2 u 、c + a = 2 v c+a=2v c + a = 2 v (u , v u,v u , v は正の整数、c > a c>a c > a )と書ける。( b 2 ) 2 = u v \bigl(\tfrac b2\bigr)^2=uv ( 2 b ) 2 = uv 。u , v u,v u , v は互いに素:d ∣ u , v d\mid u,v d ∣ u , v なら d ∣ v + u = c d\mid v+u=c d ∣ v + u = c 、d ∣ v − u = a d\mid v-u=a d ∣ v − u = a で、gcd ( a , c ) = 1 \gcd(a,c)=1 g cd( a , c ) = 1 より d = 1 d=1 d = 1 。補題 6.1 から u = n 2 u=n^2 u = n 2 、v = m 2 v=m^2 v = m 2 (m , n m,n m , n は正の整数)。c = v + u = m 2 + n 2 c=v+u=m^2+n^2 c = v + u = m 2 + n 2 、a = v − u = m 2 − n 2 a=v-u=m^2-n^2 a = v − u = m 2 − n 2 、( b 2 ) 2 = m 2 n 2 \bigl(\tfrac b2\bigr)^2=m^2n^2 ( 2 b ) 2 = m 2 n 2 より b = 2 m n b=2mn b = 2 mn 。a > 0 a>0 a > 0 から m > n m>n m > n 、gcd ( u , v ) = 1 \gcd(u,v)=1 g cd( u , v ) = 1 から gcd ( m , n ) = 1 \gcd(m,n)=1 g cd( m , n ) = 1 、a a a が奇数だから m , n m,n m , n の偶奇は異なる(m − n m-n m − n は奇数)。
逆に、m > n > 0 m>n>0 m > n > 0 、gcd ( m , n ) = 1 \gcd(m,n)=1 g cd( m , n ) = 1 、m − n m-n m − n 奇数のとき、( m 2 − n 2 ) 2 + ( 2 m n ) 2 = ( m 2 + n 2 ) 2 (m^2-n^2)^2+(2mn)^2=(m^2+n^2)^2 ( m 2 − n 2 ) 2 + ( 2 mn ) 2 = ( m 2 + n 2 ) 2 が展開で確かめられる。a = m 2 − n 2 a=m^2-n^2 a = m 2 − n 2 は奇数。素数 p p p が a a a と c c c を割れば、p p p は奇数で 2 m 2 = a + c 2m^2=a+c 2 m 2 = a + c 、2 n 2 = c − a 2n^2=c-a 2 n 2 = c − a を割るので p ∣ m p\mid m p ∣ m 、p ∣ n p\mid n p ∣ n となり gcd ( m , n ) = 1 \gcd(m,n)=1 g cd( m , n ) = 1 に反する。よって gcd ( a , c ) = 1 \gcd(a,c)=1 g cd( a , c ) = 1 で、gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 (p ∣ a , b p\mid a,b p ∣ a , b なら p ∣ c 2 = a 2 + b 2 p\mid c^2=a^2+b^2 p ∣ c 2 = a 2 + b 2 )。表し方が一意なのは、上の構成で m , n m,n m , n が u , v u,v u , v から決まるため。
∎
( m , n ) = ( 2 , 1 ) , ( 3 , 2 ) , ( 4 , 1 ) , ( 4 , 3 ) , ( 5 , 2 ) (m,n)=(2,1),(3,2),(4,1),(4,3),(5,2) ( m , n ) = ( 2 , 1 ) , ( 3 , 2 ) , ( 4 , 1 ) , ( 4 , 3 ) , ( 5 , 2 ) から ( 3 , 4 , 5 ) (3,4,5) ( 3 , 4 , 5 ) 、( 5 , 12 , 13 ) (5,12,13) ( 5 , 12 , 13 ) 、( 15 , 8 , 17 ) (15,8,17) ( 15 , 8 , 17 ) 、( 7 , 24 , 25 ) (7,24,25) ( 7 , 24 , 25 ) 、( 21 , 20 , 29 ) (21,20,29) ( 21 , 20 , 29 ) が得られます(偶数の方を b b b に並べ替えれば上の形)。
系 6.3 (単位円上の有理点 ) ✓
単位円 x 2 + y 2 = 1 x^2+y^2=1 x 2 + y 2 = 1 上の有理点(座標がともに有理数の点)のうち ( − 1 , 0 ) (-1,0) ( − 1 , 0 ) でないものは、有理数 t t t を使って
( x , y ) = ( 1 − t 2 1 + t 2 , 2 t 1 + t 2 ) (x,y)=\Bigl(\frac{1-t^2}{1+t^2},\ \frac{2t}{1+t^2}\Bigr) ( x , y ) = ( 1 + t 2 1 − t 2 , 1 + t 2 2 t ) とただ 1 通りに表される。逆に、有理数 t t t からこの式で得られる点は単位円上の有理点である。
証明(系 6.3) P = ( x , y ) P=(x,y) P = ( x , y ) を有理点で x ≠ − 1 x\ne-1 x = − 1 とすると、t = y 1 + x t=\dfrac y{1+x} t = 1 + x y (( − 1 , 0 ) (-1,0) ( − 1 , 0 ) と P P P を結ぶ直線の傾き)は有理数。y = t ( 1 + x ) y=t(1+x) y = t ( 1 + x ) を x 2 + y 2 = 1 x^2+y^2=1 x 2 + y 2 = 1 に代入すると x 2 − 1 + t 2 ( 1 + x ) 2 = 0 x^2-1+t^2(1+x)^2=0 x 2 − 1 + t 2 ( 1 + x ) 2 = 0 、すなわち ( 1 + x ) ( x − 1 + t 2 ( 1 + x ) ) = 0 (1+x)\bigl(x-1+t^2(1+x)\bigr)=0 ( 1 + x ) ( x − 1 + t 2 ( 1 + x ) ) = 0 。1 + x ≠ 0 1+x\ne0 1 + x = 0 なので x = 1 − t 2 1 + t 2 x=\dfrac{1-t^2}{1+t^2} x = 1 + t 2 1 − t 2 、y = t ( 1 + x ) = 2 t 1 + t 2 y=t(1+x)=\dfrac{2t}{1+t^2} y = t ( 1 + x ) = 1 + t 2 2 t 。t t t は P P P から t = y / ( 1 + x ) t=y/(1+x) t = y / ( 1 + x ) と決まるので一意。逆に有理数 t t t について ( 1 − t 2 ) 2 + ( 2 t ) 2 = ( 1 + t 2 ) 2 (1-t^2)^2+(2t)^2=(1+t^2)^2 ( 1 − t 2 ) 2 + ( 2 t ) 2 = ( 1 + t 2 ) 2 が展開で確かめられ、点は単位円上にある。
∎
t = n / m t=n/m t = n / m とおくと、この式は原始ピタゴラス数の ( m 2 − n 2 , 2 m n , m 2 + n 2 ) / ( m 2 + n 2 ) (m^2-n^2,2mn,m^2+n^2)/(m^2+n^2) ( m 2 − n 2 , 2 mn , m 2 + n 2 ) / ( m 2 + n 2 ) と一致します(定理 6.2 と同じ公式)。これは、円という曲線の有理点を、直線の傾きという 1 つの有理数で全部数え上げた最も簡単な例で、楕円曲線の有理点(楕円曲線とモジュラー形式 )への入口になります。
(-1, 0) P = (3/5, 4/5) 傾き t = 1/2
点 (-1, 0) から傾き 1/2 の直線を引くと、円との 2 つ目の交点は (3/5, 4/5)。傾きが有理数なら、交点も有理点になる。
d ≥ 2 d\ge2 d ≥ 2 を平方数でない整数とします。x 2 − d y 2 = 1 x^2-dy^2=1 x 2 − d y 2 = 1 の整数解を調べます。d > 0 \sqrt d>0 d > 0 は存在します(f ( x ) = x 2 − d f(x)=x^2-d f ( x ) = x 2 − d は f ( 1 ) < 0 < f ( d ) f(1)<0<f(d) f ( 1 ) < 0 < f ( d ) なので 中間値の定理(定理 5.7)[極限と連続性] による)。d \sqrt d d は無理数(系 7.7[証明の技術] )なので、整数 x , y x,y x , y について x + y d = x ′ + y ′ d x+y\sqrt d=x'+y'\sqrt d x + y d = x ′ + y ′ d なら x = x ′ x=x' x = x ′ 、y = y ′ y=y' y = y ′ (( y − y ′ ) d = x ′ − x (y-y')\sqrt d=x'-x ( y − y ′ ) d = x ′ − x で y ≠ y ′ y\ne y' y = y ′ なら d \sqrt d d が有理数になる)。
整数 x , y x,y x , y に対し ξ = x + y d \xi=x+y\sqrt d ξ = x + y d 、ξ ˉ = x − y d \bar\xi=x-y\sqrt d ξ ˉ = x − y d 、N ( ξ ) = ξ ξ ˉ = x 2 − d y 2 N(\xi)=\xi\bar\xi=x^2-dy^2 N ( ξ ) = ξ ξ ˉ = x 2 − d y 2 とおきます。ξ ′ = x ′ + y ′ d \xi'=x'+y'\sqrt d ξ ′ = x ′ + y ′ d との積 ξ ξ ′ = ( x x ′ + d y y ′ ) + ( x y ′ + x ′ y ) d \xi\xi'=(xx'+dyy')+(xy'+x'y)\sqrt d ξ ξ ′ = ( x x ′ + d y y ′ ) + ( x y ′ + x ′ y ) d は同じ形で、ξ ξ ′ ‾ = ξ ˉ ξ ˉ ′ \overline{\xi\xi'}=\bar\xi\bar\xi' ξ ξ ′ = ξ ˉ ξ ˉ ′ なので N ( ξ ξ ′ ) = N ( ξ ) N ( ξ ′ ) N(\xi\xi')=N(\xi)N(\xi') N ( ξ ξ ′ ) = N ( ξ ) N ( ξ ′ ) です。
まず、正の整数解が必ず存在することを示します。方針は次のとおりです。d \sqrt d d をよく近似する分数 x / y x/y x / y をたくさん作ると、x 2 − d y 2 x^2-dy^2 x 2 − d y 2 は 0 0 0 でない小さな整数になります。とる値は有限個しかないので、同じ値 k k k をとり、しかも x , y x,y x , y の k k k で割った余りまで等しい 2 組が見つかります。その 2 組を「割り算」すると、x 2 − d y 2 = 1 x^2-dy^2=1 x 2 − d y 2 = 1 の解が出てきます。
証明の数え上げの理由を先に述べます。値 k k k は 4 d 4d 4 d 通り、∣ k ∣ |k| ∣ k ∣ で割った余りの組は ∣ k ∣ 2 ≤ 4 d 2 |k|^2\le4d^2 ∣ k ∣ 2 ≤ 4 d 2 通りです。したがって 4 d ⋅ 4 d 2 = 16 d 3 4d\cdot4d^2=16d^3 4 d ⋅ 4 d 2 = 16 d 3 を超える数の組を用意すれば、鳩の巣原理を 2 回使って、同じ値・同じ余りの 2 組が見つかります。また、ステップ 3 の X , Y X,Y X , Y は、( x + y d ) (x+y\sqrt d) ( x + y d ) と ( x ′ − y ′ d ) (x'-y'\sqrt d) ( x ′ − y ′ d ) の積 X + Y d X+Y\sqrt d X + Y d の係数で、積の N N N は k ⋅ k = k 2 k\cdot k=k^2 k ⋅ k = k 2 になります。これを k k k で割って N = 1 N=1 N = 1 の解を得る、という見通しです。
補題 7.1 (Dirichlet の近似定理 ) ✓
α > 0 \alpha>0 α > 0 を実数、Q Q Q を正の整数とする。整数 p p p と、1 ≤ q ≤ Q 1\le q\le Q 1 ≤ q ≤ Q を満たす整数 q q q で
∣ q α − p ∣ < 1 Q |q\alpha-p|<\frac1Q ∣ q α − p ∣ < Q 1 となるものが存在する。
証明(補題 7.1) (整数部分) 実数 t ≥ 0 t\ge0 t ≥ 0 に対し、t t t 以下の最大の整数 ⌊ t ⌋ \lfloor t\rfloor ⌊ t ⌋ があることを確かめる。アルキメデスの原理(命題 5.4)[数とは何か] の (1) により n > t n>t n > t となる自然数 n n n がある。整数 m m m で 0 ≤ m ≤ t 0\le m\le t 0 ≤ m ≤ t を満たすものの集合は 0 0 0 を含み、その元はすべて n n n より小さいので、0 , 1 , … , n − 1 0,1,\dots,n-1 0 , 1 , … , n − 1 のうちの空でない有限集合であり、最大元 ⌊ t ⌋ \lfloor t\rfloor ⌊ t ⌋ をもつ。最大性から ⌊ t ⌋ + 1 > t \lfloor t\rfloor+1>t ⌊ t ⌋ + 1 > t なので 0 ≤ t − ⌊ t ⌋ < 1 0\le t-\lfloor t\rfloor<1 0 ≤ t − ⌊ t ⌋ < 1 。
(鳩の巣) k = 0 , 1 , … , Q k=0,1,\dots,Q k = 0 , 1 , … , Q について f k = k α − ⌊ k α ⌋ f_k=k\alpha-\lfloor k\alpha\rfloor f k = k α − ⌊ k α ⌋ とおく(k α ≥ 0 k\alpha\ge0 k α ≥ 0 )。0 ≤ f k < 1 0\le f_k<1 0 ≤ f k < 1 なので 0 ≤ Q f k < Q 0\le Qf_k<Q 0 ≤ Q f k < Q で、j k = ⌊ Q f k ⌋ j_k=\lfloor Qf_k\rfloor j k = ⌊ Q f k ⌋ は { 0 , 1 , … , Q − 1 } \{0,1,\dots,Q-1\} { 0 , 1 , … , Q − 1 } の元である。Q + 1 Q+1 Q + 1 個の k k k を Q Q Q 個の値 j k j_k j k に写す写像は、鳩の巣原理(定理 7.5)[数え上げと母関数] の 1.(定理中の整数を 1 1 1 とした場合)により単射でない。よって 0 ≤ k < l ≤ Q 0\le k<l\le Q 0 ≤ k < l ≤ Q で j k = j l = j j_k=j_l=j j k = j l = j となるものがある。j ≤ Q f k < j + 1 j\le Qf_k<j+1 j ≤ Q f k < j + 1 、j ≤ Q f l < j + 1 j\le Qf_l<j+1 j ≤ Q f l < j + 1 なので ∣ Q f l − Q f k ∣ < 1 |Qf_l-Qf_k|<1 ∣ Q f l − Q f k ∣ < 1 、すなわち ∣ f l − f k ∣ < 1 Q |f_l-f_k|<\dfrac1Q ∣ f l − f k ∣ < Q 1 。
q = l − k q=l-k q = l − k 、p = ⌊ l α ⌋ − ⌊ k α ⌋ p=\lfloor l\alpha\rfloor-\lfloor k\alpha\rfloor p = ⌊ l α ⌋ − ⌊ k α ⌋ とおくと、1 ≤ q ≤ Q 1\le q\le Q 1 ≤ q ≤ Q で q α − p = ( l α − ⌊ l α ⌋ ) − ( k α − ⌊ k α ⌋ ) = f l − f k q\alpha-p=(l\alpha-\lfloor l\alpha\rfloor)-(k\alpha-\lfloor k\alpha\rfloor)=f_l-f_k q α − p = ( l α − ⌊ l α ⌋) − ( k α − ⌊ k α ⌋) = f l − f k 。ゆえに ∣ q α − p ∣ < 1 Q |q\alpha-p|<\dfrac1Q ∣ q α − p ∣ < Q 1 。
∎
補題 7.2 (√d のよい近似分数はいくらでもある ) ✓
d ≥ 2 d\ge2 d ≥ 2 を平方数でない整数とする。どんな正の整数 M M M に対しても、
∣ x − y d ∣ < 1 y |x-y\sqrt d|<\frac1y ∣ x − y d ∣ < y 1 を満たす正の整数の組 ( x , y ) (x,y) ( x , y ) で、互いに異なるものが M M M 個以上ある。
証明(補題 7.2) まず 2 つのことに注意する。(i) 正の整数 x , y x,y x , y について x − y d ≠ 0 x-y\sqrt d\ne0 x − y d = 0 。実際 x = y d x=y\sqrt d x = y d なら d = x / y \sqrt d=x/y d = x / y が有理数になり、系 7.7[証明の技術] に反する。(ii) d > 1 \sqrt d>1 d > 1 。d ≤ 1 \sqrt d\le1 d ≤ 1 なら d = ( d ) 2 ≤ 1 d=(\sqrt d)^2\le1 d = ( d ) 2 ≤ 1 となり d ≥ 2 d\ge2 d ≥ 2 に反する。
M M M についての帰納法で示す。
(M = 1 M=1 M = 1 ) 補題 7.1 を α = d \alpha=\sqrt d α = d 、Q = 1 Q=1 Q = 1 に使うと、q = 1 q=1 q = 1 と整数 p p p で ∣ p − d ∣ < 1 |p-\sqrt d|<1 ∣ p − d ∣ < 1 となるものがある。(ii) より p > d − 1 > 0 p>\sqrt d-1>0 p > d − 1 > 0 なので p p p は正の整数で、( x , y ) = ( p , 1 ) (x,y)=(p,1) ( x , y ) = ( p , 1 ) は ∣ x − y d ∣ < 1 = 1 / y |x-y\sqrt d|<1=1/y ∣ x − y d ∣ < 1 = 1/ y を満たす。
(M M M から M + 1 M+1 M + 1 へ) 条件を満たす相異なる M M M 個の組 ( x 1 , y 1 ) , … , ( x M , y M ) (x_1,y_1),\dots,(x_M,y_M) ( x 1 , y 1 ) , … , ( x M , y M ) があるとする。(i) より δ = min i ∣ x i − y i d ∣ > 0 \delta=\min_i|x_i-y_i\sqrt d|>0 δ = min i ∣ x i − y i d ∣ > 0 。アルキメデスの原理(命題 5.4)[数とは何か] の (2) で 1 Q < δ \dfrac1Q<\delta Q 1 < δ となる正の整数 Q Q Q をとり、補題 7.1 を α = d \alpha=\sqrt d α = d とこの Q Q Q に使って、1 ≤ q ≤ Q 1\le q\le Q 1 ≤ q ≤ Q と整数 p p p で ∣ q d − p ∣ < 1 Q |q\sqrt d-p|<\dfrac1Q ∣ q d − p ∣ < Q 1 となるものをとる。
q ≤ Q q\le Q q ≤ Q なので ∣ p − q d ∣ < 1 Q ≤ 1 q |p-q\sqrt d|<\dfrac1Q\le\dfrac1q ∣ p − q d ∣ < Q 1 ≤ q 1 。
p > q d − 1 ≥ d − 1 > 0 p>q\sqrt d-1\ge\sqrt d-1>0 p > q d − 1 ≥ d − 1 > 0 ((ii))なので p p p は正の整数。
∣ p − q d ∣ < 1 Q < δ ≤ ∣ x i − y i d ∣ |p-q\sqrt d|<\dfrac1Q<\delta\le|x_i-y_i\sqrt d| ∣ p − q d ∣ < Q 1 < δ ≤ ∣ x i − y i d ∣ なので、( p , q ) (p,q) ( p , q ) はどの ( x i , y i ) (x_i,y_i) ( x i , y i ) とも異なる。
よって ( p , q ) (p,q) ( p , q ) を加えた M + 1 M+1 M + 1 個の相異なる組が条件を満たす。
∎
定理 7.3 (Pell 方程式の解の存在 ) ✓
d ≥ 2 d\ge2 d ≥ 2 を平方数でない整数とする。x 2 − d y 2 = 1 x^2-dy^2=1 x 2 − d y 2 = 1 は正の整数解(x ≥ 1 x\ge1 x ≥ 1 、y ≥ 1 y\ge1 y ≥ 1 )をもつ。
証明(定理 7.3) (ステップ 1:値の範囲) 補題 7.2 の条件 ∣ x − y d ∣ < 1 / y |x-y\sqrt d|<1/y ∣ x − y d ∣ < 1/ y を満たす正の整数の組 ( x , y ) (x,y) ( x , y ) について、k = x 2 − d y 2 k=x^2-dy^2 k = x 2 − d y 2 は 0 0 0 でなく(補題 7.2 の証明の (i) と同じく、k = 0 k=0 k = 0 なら d = x / y \sqrt d=x/y d = x / y が有理数になり 系 7.7[証明の技術] に反する)、
0 < x + y d = ( x − y d ) + 2 y d < 1 y + 2 y d 0<x+y\sqrt d=(x-y\sqrt d)+2y\sqrt d<\frac1y+2y\sqrt d 0 < x + y d = ( x − y d ) + 2 y d < y 1 + 2 y d なので
∣ k ∣ = ∣ x − y d ∣ ( x + y d ) < 1 y ( 1 y + 2 y d ) = 1 y 2 + 2 d ≤ 1 + 2 d . |k|=|x-y\sqrt d|\,(x+y\sqrt d)<\frac1y\Bigl(\frac1y+2y\sqrt d\Bigr)=\frac1{y^2}+2\sqrt d\le1+2\sqrt d . ∣ k ∣ = ∣ x − y d ∣ ( x + y d ) < y 1 ( y 1 + 2 y d ) = y 2 1 + 2 d ≤ 1 + 2 d . さらに d < d \sqrt d<d d < d である(d ≥ d \sqrt d\ge d d ≥ d なら d = ( d ) 2 ≥ d 2 d=(\sqrt d)^2\ge d^2 d = ( d ) 2 ≥ d 2 となり、d ≥ 2 d\ge2 d ≥ 2 に反する)。よって ∣ k ∣ < 1 + 2 d |k|<1+2d ∣ k ∣ < 1 + 2 d で、k k k は整数だから 1 ≤ ∣ k ∣ ≤ 2 d 1\le|k|\le2d 1 ≤ ∣ k ∣ ≤ 2 d 。すなわち k k k は 4 d 4d 4 d 個の元からなる集合 K = { − 2 d , … , − 1 , 1 , … , 2 d } K=\{-2d,\dots,-1,1,\dots,2d\} K = { − 2 d , … , − 1 , 1 , … , 2 d } に属する。
(ステップ 2:同じ値・同じ余りの 2 組) 補題 7.2 で、条件を満たす相異なる組を 16 d 3 + 1 16d^3+1 16 d 3 + 1 個とり、その集合を A A A とする。A A A の各組に x 2 − d y 2 ∈ K x^2-dy^2\in K x 2 − d y 2 ∈ K を対応させる写像は ∣ A ∣ > 4 d 2 ⋅ ∣ K ∣ |A|>4d^2\cdot|K| ∣ A ∣ > 4 d 2 ⋅ ∣ K ∣ を満たすので、鳩の巣原理(定理 7.5)[数え上げと母関数] の 1.(定理中の整数を 4 d 2 4d^2 4 d 2 とした場合)により、ある k ∈ K k\in K k ∈ K について x 2 − d y 2 = k x^2-dy^2=k x 2 − d y 2 = k となる組が 4 d 2 + 1 4d^2+1 4 d 2 + 1 個以上ある。∣ k ∣ ≤ 2 d |k|\le2d ∣ k ∣ ≤ 2 d なので、これは ∣ k ∣ 2 + 1 |k|^2+1 ∣ k ∣ 2 + 1 個以上である。これらの組に、x x x と y y y をそれぞれ ∣ k ∣ |k| ∣ k ∣ で割った余りの組(∣ k ∣ 2 |k|^2 ∣ k ∣ 2 通り)を対応させると、再び鳩の巣原理の 1.(定理中の整数を 1 1 1 とした場合)により、相異なる 2 組 ( x , y ) ≠ ( x ′ , y ′ ) (x,y)\ne(x',y') ( x , y ) = ( x ′ , y ′ ) で
x 2 − d y 2 = x ′ 2 − d y ′ 2 = k , x ≡ x ′ , y ≡ y ′ ( m o d ∣ k ∣ ) x^2-dy^2=x'^2-dy'^2=k,\qquad x\equiv x',\quad y\equiv y'\pmod{|k|} x 2 − d y 2 = x ′2 − d y ′2 = k , x ≡ x ′ , y ≡ y ′ ( mod ∣ k ∣ ) となるものがある(∣ k ∣ = 1 |k|=1 ∣ k ∣ = 1 のときは合同の条件は自動的に成り立つ)。
(ステップ 3:割り算) X = x x ′ − d y y ′ X=xx'-dyy' X = x x ′ − d y y ′ 、Y = x ′ y − x y ′ Y=x'y-xy' Y = x ′ y − x y ′ とおく。命題 3.3[合同式とフェルマーの小定理] により、x ′ ≡ x x'\equiv x x ′ ≡ x 、y ′ ≡ y ( m o d ∣ k ∣ ) y'\equiv y\pmod{|k|} y ′ ≡ y ( mod ∣ k ∣ ) を代入して
X ≡ x 2 − d y 2 = k ≡ 0 , Y ≡ x y − x y = 0 ( m o d ∣ k ∣ ) . X\equiv x^2-dy^2=k\equiv0,\qquad Y\equiv xy-xy=0\pmod{|k|}. X ≡ x 2 − d y 2 = k ≡ 0 , Y ≡ x y − x y = 0 ( mod ∣ k ∣ ) . よって X = k u X=ku X = k u 、Y = k v Y=kv Y = k v となる整数 u , v u,v u , v がある。一方、展開すると
X 2 − d Y 2 = x 2 x ′ 2 − 2 d x x ′ y y ′ + d 2 y 2 y ′ 2 − d ( x ′ 2 y 2 − 2 x x ′ y y ′ + x 2 y ′ 2 ) = x 2 x ′ 2 − d x 2 y ′ 2 − d x ′ 2 y 2 + d 2 y 2 y ′ 2 = ( x 2 − d y 2 ) ( x ′ 2 − d y ′ 2 ) = k 2 \begin{aligned}
X^2-dY^2&=x^2x'^2-2dxx'yy'+d^2y^2y'^2-d\bigl(x'^2y^2-2xx'yy'+x^2y'^2\bigr)\\
&=x^2x'^2-dx^2y'^2-dx'^2y^2+d^2y^2y'^2=(x^2-dy^2)(x'^2-dy'^2)=k^2
\end{aligned} X 2 − d Y 2 = x 2 x ′2 − 2 d x x ′ y y ′ + d 2 y 2 y ′2 − d ( x ′2 y 2 − 2 x x ′ y y ′ + x 2 y ′2 ) = x 2 x ′2 − d x 2 y ′2 − d x ′2 y 2 + d 2 y 2 y ′2 = ( x 2 − d y 2 ) ( x ′2 − d y ′2 ) = k 2 なので k 2 ( u 2 − d v 2 ) = k 2 k^2(u^2-dv^2)=k^2 k 2 ( u 2 − d v 2 ) = k 2 、k ≠ 0 k\ne0 k = 0 で割って u 2 − d v 2 = 1 u^2-dv^2=1 u 2 − d v 2 = 1 。
(ステップ 4:自明でないこと) v ≠ 0 v\ne0 v = 0 を示す。v = 0 v=0 v = 0 なら x ′ y = x y ′ x'y=xy' x ′ y = x y ′ で、t = x ′ / x t=x'/x t = x ′ / x とおくと t > 0 t>0 t > 0 、x ′ = t x x'=tx x ′ = t x 、y ′ = t y y'=ty y ′ = t y 。すると k = x ′ 2 − d y ′ 2 = t 2 ( x 2 − d y 2 ) = t 2 k k=x'^2-dy'^2=t^2(x^2-dy^2)=t^2k k = x ′2 − d y ′2 = t 2 ( x 2 − d y 2 ) = t 2 k で、k ≠ 0 k\ne0 k = 0 から t 2 = 1 t^2=1 t 2 = 1 、t > 0 t>0 t > 0 から t = 1 t=1 t = 1 。これは ( x ′ , y ′ ) = ( x , y ) (x',y')=(x,y) ( x ′ , y ′ ) = ( x , y ) を意味し、2 組が相異なることに反する。ゆえに v ≠ 0 v\ne0 v = 0 で、u 2 = 1 + d v 2 ≥ 1 + d > 1 u^2=1+dv^2\ge1+d>1 u 2 = 1 + d v 2 ≥ 1 + d > 1 から u ≠ 0 u\ne0 u = 0 。( ∣ u ∣ , ∣ v ∣ ) (|u|,|v|) ( ∣ u ∣ , ∣ v ∣ ) は x 2 − d y 2 = 1 x^2-dy^2=1 x 2 − d y 2 = 1 の正の整数解である。
∎
この証明は解の存在を示すだけで、最小解の大きさについては何も教えてくれません(実際、最小解は小さな d d d でも非常に大きくなることがあります。直後の注意を見てください)。存在が分かれば、すべての正の解を記述できます。
定理 7.4 (Pell 方程式の解の構造 ) ✓
d ≥ 2 d\ge2 d ≥ 2 を平方数でない整数とする。x 2 − d y 2 = 1 x^2-dy^2=1 x 2 − d y 2 = 1 の正の整数解(x ≥ 1 x\ge1 x ≥ 1 、y ≥ 1 y\ge1 y ≥ 1 )のうち x x x が最小のもの(定理 7.3 と整列性 により存在する)を ( x 1 , y 1 ) (x_1,y_1) ( x 1 , y 1 ) とし、ε = x 1 + y 1 d \varepsilon=x_1+y_1\sqrt d ε = x 1 + y 1 d とおく。各 n ≥ 1 n\ge1 n ≥ 1 について ε n = x n + y n d \varepsilon^n=x_n+y_n\sqrt d ε n = x n + y n d (x n , y n x_n,y_n x n , y n は正の整数)とおくと、正の整数解は ( x n , y n ) (x_n,y_n) ( x n , y n ) (n = 1 , 2 , … n=1,2,\dots n = 1 , 2 , … )で尽くされ、互いに異なる。
証明(定理 7.4) (最小解の存在) 定理 7.3 により正の整数解は少なくとも 1 つあるので、正の整数解の x x x の値全体は正の整数の空でない部分集合であり、整列性により最小元 x 1 x_1 x 1 をもつ。y 1 = ( x 1 2 − 1 ) / d y_1=\sqrt{(x_1^2-1)/d} y 1 = ( x 1 2 − 1 ) / d は x 1 x_1 x 1 から決まる。
(( x n , y n ) (x_n,y_n) ( x n , y n ) は解) ε n \varepsilon^n ε n は積の公式から x n + y n d x_n+y_n\sqrt d x n + y n d (整数 x n , y n x_n,y_n x n , y n )の形で、x n + 1 = x n x 1 + d y n y 1 x_{n+1}=x_nx_1+dy_ny_1 x n + 1 = x n x 1 + d y n y 1 、y n + 1 = x n y 1 + x 1 y n y_{n+1}=x_ny_1+x_1y_n y n + 1 = x n y 1 + x 1 y n から帰納的に正の整数。N ( ε n ) = N ( ε ) n = 1 N(\varepsilon^n)=N(\varepsilon)^n=1 N ( ε n ) = N ( ε ) n = 1 。ε > 1 \varepsilon>1 ε > 1 なので ε n \varepsilon^n ε n は真に増加し、異なる解を与える。
(尽くされる) ( x , y ) (x,y) ( x , y ) を正の解、η = x + y d \eta=x+y\sqrt d η = x + y d とする。x ≥ x 1 x\ge x_1 x ≥ x 1 で y = ( x 2 − 1 ) / d ≥ y 1 y=\sqrt{(x^2-1)/d}\ge y_1 y = ( x 2 − 1 ) / d ≥ y 1 だから η ≥ ε > 1 \eta\ge\varepsilon>1 η ≥ ε > 1 。ε n → ∞ \varepsilon^n\to\infty ε n → ∞ (ε n ≥ 1 + n ( ε − 1 ) \varepsilon^n\ge1+n(\varepsilon-1) ε n ≥ 1 + n ( ε − 1 ) )なので、ε n ≤ η < ε n + 1 \varepsilon^n\le\eta<\varepsilon^{n+1} ε n ≤ η < ε n + 1 となる n ≥ 1 n\ge1 n ≥ 1 がある。ε − 1 = ε ˉ = x 1 − y 1 d \varepsilon^{-1}=\bar\varepsilon=x_1-y_1\sqrt d ε − 1 = ε ˉ = x 1 − y 1 d (N ( ε ) = 1 N(\varepsilon)=1 N ( ε ) = 1 )なので ζ = η ε − n = η ε ˉ n \zeta=\eta\varepsilon^{-n}=\eta\bar\varepsilon^n ζ = η ε − n = η ε ˉ n は x ′ + y ′ d x'+y'\sqrt d x ′ + y ′ d (整数 x ′ , y ′ x',y' x ′ , y ′ )の形で、N ( ζ ) = 1 N(\zeta)=1 N ( ζ ) = 1 、1 ≤ ζ < ε 1\le\zeta<\varepsilon 1 ≤ ζ < ε 。ζ = 1 \zeta=1 ζ = 1 なら η = ε n \eta=\varepsilon^n η = ε n で完了。ζ > 1 \zeta>1 ζ > 1 とすると、ζ ˉ = ζ − 1 ∈ ( ε − 1 , 1 ) ⊂ ( 0 , 1 ) \bar\zeta=\zeta^{-1}\in(\varepsilon^{-1},1)\subset(0,1) ζ ˉ = ζ − 1 ∈ ( ε − 1 , 1 ) ⊂ ( 0 , 1 ) なので x ′ = ζ + ζ ˉ 2 > 0 x'=\dfrac{\zeta+\bar\zeta}2>0 x ′ = 2 ζ + ζ ˉ > 0 、y ′ = ζ − ζ ˉ 2 d > 0 y'=\dfrac{\zeta-\bar\zeta}{2\sqrt d}>0 y ′ = 2 d ζ − ζ ˉ > 0 は正の整数で、( x ′ , y ′ ) (x',y') ( x ′ , y ′ ) は正の解である。正の解では x + y d = x + x 2 − 1 x+y\sqrt d=x+\sqrt{x^2-1} x + y d = x + x 2 − 1 は x x x について真に増加するので、x ′ + y ′ d = ζ < ε = x 1 + y 1 d x'+y'\sqrt d=\zeta<\varepsilon=x_1+y_1\sqrt d x ′ + y ′ d = ζ < ε = x 1 + y 1 d から x ′ < x 1 x'<x_1 x ′ < x 1 。これは x 1 x_1 x 1 の最小性に反する。ゆえに ζ = 1 \zeta=1 ζ = 1 。
∎
例 7.6 (d = 2 と d = 5 )
d = 2 d=2 d = 2 : 3 2 − 2 ⋅ 2 2 = 1 3^2-2\cdot2^2=1 3 2 − 2 ⋅ 2 2 = 1 。x ≤ 2 x\le2 x ≤ 2 では解がない(x = 2 x=2 x = 2 なら y 2 = 3 / 2 y^2=3/2 y 2 = 3/2 で整数でない)ので最小解は ( 3 , 2 ) (3,2) ( 3 , 2 ) 。( 3 + 2 2 ) 2 = 17 + 12 2 (3+2\sqrt2)^2=17+12\sqrt2 ( 3 + 2 2 ) 2 = 17 + 12 2 より ( 17 , 12 ) (17,12) ( 17 , 12 ) 、( 3 + 2 2 ) 3 = 99 + 70 2 (3+2\sqrt2)^3=99+70\sqrt2 ( 3 + 2 2 ) 3 = 99 + 70 2 より ( 99 , 70 ) (99,70) ( 99 , 70 ) 。前の記事の近似分数 1 , 3 2 , 7 5 , 17 12 , 41 29 , … 1,\frac32,\frac75,\frac{17}{12},\frac{41}{29},\dots 1 , 2 3 , 5 7 , 12 17 , 29 41 , … のうち p 2 − 2 q 2 = + 1 p^2-2q^2=+1 p 2 − 2 q 2 = + 1 となるのは 3 2 , 17 12 , 99 70 , … \frac32,\frac{17}{12},\frac{99}{70},\dots 2 3 , 12 17 , 70 99 , … です。
d = 5 d=5 d = 5 : 最小解は ( 9 , 4 ) (9,4) ( 9 , 4 ) (81 − 80 = 1 81-80=1 81 − 80 = 1 )。( 9 + 4 5 ) 2 = 161 + 72 5 (9+4\sqrt5)^2=161+72\sqrt5 ( 9 + 4 5 ) 2 = 161 + 72 5 で 161 2 − 5 ⋅ 72 2 = 25921 − 25920 = 1 161^2-5\cdot72^2=25921-25920=1 16 1 2 − 5 ⋅ 7 2 2 = 25921 − 25920 = 1 。
例 8.1 (何曜日になるか(万年暦) )
2026 2026 2026 年 10 10 10 月 6 6 6 日は火曜日です。その 100 100 100 日後は、100 ≡ 2 ( m o d 7 ) 100\equiv2\pmod7 100 ≡ 2 ( mod 7 ) なので火曜の 2 2 2 日後、木曜日。1 年後の同じ月日の曜日は、間に 2 月 29 日を含まなければ 365 ≡ 1 ( m o d 7 ) 365\equiv1\pmod7 365 ≡ 1 ( mod 7 ) より 1 1 1 日、含めば 366 ≡ 2 366\equiv2 366 ≡ 2 より 2 2 2 日進みます。グレゴリオ暦は 400 400 400 年に閏年が 97 97 97 回なので 400 ⋅ 365 + 97 = 146097 = 7 ⋅ 20871 400\cdot365+97=146097=7\cdot20871 400 ⋅ 365 + 97 = 146097 = 7 ⋅ 20871 日で、曜日の並びは 400 400 400 年ごとに完全に繰り返します。
例 8.2 (RSA の小さな例 )
p = 5 p=5 p = 5 、q = 11 q=11 q = 11 、n = 55 n=55 n = 55 、φ ( n ) = 40 \varphi(n)=40 φ ( n ) = 40 、e = 3 e=3 e = 3 、d = 27 d=27 d = 27 (3 ⋅ 27 = 81 ≡ 1 ( m o d 40 ) 3\cdot27=81\equiv1\pmod{40} 3 ⋅ 27 = 81 ≡ 1 ( mod 40 ) )。メッセージ m = 8 m=8 m = 8 の暗号文は 8 3 = 512 ≡ 17 ( m o d 55 ) 8^3=512\equiv17\pmod{55} 8 3 = 512 ≡ 17 ( mod 55 ) 。復号は 17 27 m o d 55 17^{27}\bmod55 1 7 27 mod 55 で、中国剰余定理(定理 4.8[合同式とフェルマーの小定理] )により法 5 5 5 と法 11 11 11 に分けて計算します。17 ≡ 2 ( m o d 5 ) 17\equiv2\pmod5 17 ≡ 2 ( mod 5 ) 、Fermat の小定理で 2 4 ≡ 1 2^4\equiv1 2 4 ≡ 1 なので 2 27 = 2 24 ⋅ 2 3 ≡ 8 ≡ 3 2^{27}=2^{24}\cdot2^3\equiv8\equiv3 2 27 = 2 24 ⋅ 2 3 ≡ 8 ≡ 3 。17 ≡ 6 ( m o d 11 ) 17\equiv6\pmod{11} 17 ≡ 6 ( mod 11 ) 、6 10 ≡ 1 6^{10}\equiv1 6 10 ≡ 1 より 6 27 ≡ 6 7 6^{27}\equiv6^7 6 27 ≡ 6 7 、6 2 ≡ 3 6^2\equiv3 6 2 ≡ 3 、6 4 ≡ 9 6^4\equiv9 6 4 ≡ 9 、6 6 ≡ 27 ≡ 5 6^6\equiv27\equiv5 6 6 ≡ 27 ≡ 5 、6 7 ≡ 30 ≡ 8 6^7\equiv30\equiv8 6 7 ≡ 30 ≡ 8 。x ≡ 3 ( m o d 5 ) x\equiv3\pmod5 x ≡ 3 ( mod 5 ) 、x ≡ 8 ( m o d 11 ) x\equiv8\pmod{11} x ≡ 8 ( mod 11 ) の解は x = 8 x=8 x = 8 (8 m o d 5 = 3 8\bmod5=3 8 mod 5 = 3 )で、元のメッセージに戻りました。一般にこれが戻る理由が RSA の正当性(定理 6.1)[合同式とフェルマーの小定理] です。
例 8.3 (合同数 )
辺の長さが有理数の直角三角形の面積になる正の整数を合同数 といいます。6 6 6 は ( 3 , 4 , 5 ) (3,4,5) ( 3 , 4 , 5 ) の面積 1 2 ⋅ 3 ⋅ 4 = 6 \frac12\cdot3\cdot4=6 2 1 ⋅ 3 ⋅ 4 = 6 なので合同数です。5 5 5 も合同数で、辺が 3 2 , 20 3 , 41 6 \frac32,\frac{20}3,\frac{41}6 2 3 , 3 20 , 6 41 の直角三角形(9 4 + 400 9 = 1681 36 \frac94+\frac{400}9=\frac{1681}{36} 4 9 + 9 400 = 36 1681 、41 6 \frac{41}6 6 41 の平方)の面積は 1 2 ⋅ 3 2 ⋅ 20 3 = 5 \frac12\cdot\frac32\cdot\frac{20}3=5 2 1 ⋅ 2 3 ⋅ 3 20 = 5 。どの整数が合同数かの判定は、楕円曲線の有理点の問題(Tunnell の定理)として大学で扱われます。
剰余環 Z / m Z \mathbb{Z}/m\mathbb{Z} Z / m Z とその単元群、位数と Lagrange の定理は 群と部分群 、合同式と RSA・中国剰余定理は 合同式と Fermat の小定理 の主題です。原始根・平方剰余・相互法則へ進みます。
単位円の有理点のパラメータ表示は、楕円曲線の有理点(Mordell–Weil の定理)へ(楕円曲線とモジュラー形式 )。
Pell 方程式の解の構造は、2 次体の単数群(Dirichlet の単数定理)の最も簡単な場合です。
演習 10.1 易
ord 13 ( 2 ) \operatorname{ord}_{13}(2) ord 13 ( 2 ) を求めよ。また 2 2026 m o d 13 2^{2026}\bmod13 2 2026 mod 13 を求めよ。
解答 2 1 , 2 2 , … 2^1,2^2,\dots 2 1 , 2 2 , … を法 13 13 13 で計算すると 2 , 4 , 8 , 3 , 6 , 12 , 11 , 9 , 5 , 10 , 7 , 1 2,4,8,3,6,12,11,9,5,10,7,1 2 , 4 , 8 , 3 , 6 , 12 , 11 , 9 , 5 , 10 , 7 , 1 で、2 12 ≡ 1 2^{12}\equiv1 2 12 ≡ 1 が初めてなので位数は 12 12 12 (定理 3.2 から 12 12 12 の約数 1 , 2 , 3 , 4 , 6 1,2,3,4,6 1 , 2 , 3 , 4 , 6 では 1 1 1 にならないことだけ確かめればよい)。2026 = 12 ⋅ 168 + 10 2026=12\cdot168+10 2026 = 12 ⋅ 168 + 10 なので 2 2026 ≡ 2 10 ≡ 10 2^{2026}\equiv2^{10}\equiv10 2 2026 ≡ 2 10 ≡ 10 (命題 3.3 )。
演習 10.2 標準
1 17 \dfrac1{17} 17 1 の循環節の長さを求めよ。
解答 b = 17 b=17 b = 17 は素数で b ′ = 17 b'=17 b ′ = 17 。ord 17 ( 10 ) \operatorname{ord}_{17}(10) ord 17 ( 10 ) は 16 16 16 の約数。10 2 = 100 ≡ 15 ≡ − 2 10^2=100\equiv15\equiv-2 1 0 2 = 100 ≡ 15 ≡ − 2 、10 4 ≡ 4 10^4\equiv4 1 0 4 ≡ 4 、10 8 ≡ 16 ≡ − 1 ( m o d 17 ) 10^8\equiv16\equiv-1\pmod{17} 1 0 8 ≡ 16 ≡ − 1 ( mod 17 ) 。10 8 ≢ 1 10^8\not\equiv1 1 0 8 ≡ 1 なので位数は 8 8 8 の約数ではなく、16 16 16 の約数で 16 16 16 の約数のうち 8 8 8 を割らないものは 16 16 16 だけ。よって位数は 16 16 16 、循環節の長さは 16 16 16 (定理 5.2 )。
演習 10.3 標準
( n − 1 ) ! ≡ − 1 ( m o d n ) (n-1)!\equiv-1\pmod n ( n − 1 )! ≡ − 1 ( mod n ) となる n ≤ 12 n\le12 n ≤ 12 をすべて求めよ。
解答 定理 4.1 より n n n が素数のときに限るので、n = 2 , 3 , 5 , 7 , 11 n=2,3,5,7,11 n = 2 , 3 , 5 , 7 , 11 。
演習 10.4 難
(1) c ≤ 40 c\le40 c ≤ 40 の原始ピタゴラス数をすべて挙げよ。(2) x 2 − 3 y 2 = 1 x^2-3y^2=1 x 2 − 3 y 2 = 1 の最小解と、次の解を求めよ。
解答 (1) 定理 6.2 で c = m 2 + n 2 ≤ 40 c=m^2+n^2\le40 c = m 2 + n 2 ≤ 40 、m > n m>n m > n 、互いに素、m − n m-n m − n 奇数。( m , n ) = ( 2 , 1 ) , ( 3 , 2 ) , ( 4 , 1 ) , ( 4 , 3 ) , ( 5 , 2 ) , ( 6 , 1 ) (m,n)=(2,1),(3,2),(4,1),(4,3),(5,2),(6,1) ( m , n ) = ( 2 , 1 ) , ( 3 , 2 ) , ( 4 , 1 ) , ( 4 , 3 ) , ( 5 , 2 ) , ( 6 , 1 ) が条件を満たす(( 5 , 4 ) (5,4) ( 5 , 4 ) は c = 41 > 40 c=41>40 c = 41 > 40 で除外、( 6 , 5 ) (6,5) ( 6 , 5 ) は c = 61 c=61 c = 61 )。順に ( 3 , 4 , 5 ) (3,4,5) ( 3 , 4 , 5 ) 、( 5 , 12 , 13 ) (5,12,13) ( 5 , 12 , 13 ) 、( 15 , 8 , 17 ) (15,8,17) ( 15 , 8 , 17 ) 、( 7 , 24 , 25 ) (7,24,25) ( 7 , 24 , 25 ) 、( 21 , 20 , 29 ) (21,20,29) ( 21 , 20 , 29 ) 、( 35 , 12 , 37 ) (35,12,37) ( 35 , 12 , 37 ) 。直角をはさむ 2 辺の順序を無視すれば ( 3 , 4 , 5 ) (3,4,5) ( 3 , 4 , 5 ) 、( 5 , 12 , 13 ) (5,12,13) ( 5 , 12 , 13 ) 、( 8 , 15 , 17 ) (8,15,17) ( 8 , 15 , 17 ) 、( 7 , 24 , 25 ) (7,24,25) ( 7 , 24 , 25 ) 、( 20 , 21 , 29 ) (20,21,29) ( 20 , 21 , 29 ) 、( 12 , 35 , 37 ) (12,35,37) ( 12 , 35 , 37 ) の 6 組。(2) x = 2 x=2 x = 2 で y = 1 y=1 y = 1 (4 − 3 = 1 4-3=1 4 − 3 = 1 )。最小解は ( 2 , 1 ) (2,1) ( 2 , 1 ) (x = 1 x=1 x = 1 では y = 0 y=0 y = 0 となり正の解でない)。定理 7.4 より正の解は ( 2 + 3 ) n (2+\sqrt3)^n ( 2 + 3 ) n で尽くされ、x x x の小さい順に並ぶので、次の解は ( 2 + 3 ) 2 = 7 + 4 3 (2+\sqrt3)^2=7+4\sqrt3 ( 2 + 3 ) 2 = 7 + 4 3 より ( 7 , 4 ) (7,4) ( 7 , 4 ) (49 − 48 = 1 49-48=1 49 − 48 = 1 )。
Ivan Niven, Herbert S. Zuckerman, Hugh L. Montgomery, An Introduction to the Theory of Numbers , 5th ed., Wiley, 1991 — 第 2 章(合同式)、第 7 章(連分数と Pell 方程式)。
G. H. Hardy, E. M. Wright, An Introduction to the Theory of Numbers , 6th ed., Oxford University Press, 2008 — 第 6 章・第 9 章(Fermat の定理と小数)。
Kenneth Ireland, Michael Rosen, A Classical Introduction to Modern Number Theory , 2nd ed., Springer, 1990 — 第 1 章・第 2 章(整除と合同)。
高木貞治『初等整数論講義』第 2 版、共立出版、1971。
執筆: Claude Code(Sonnet 5.5)、Claude Code(Opus 5.5)・監査 3 回(Claude Code)・最終 2026-10-12