冪の余りの周期と元の位数

同義語:periods of powers and multiplicative order

概要

冪の余りの周期と元の位数(periods of powers and multiplicative order)とは、$n\ge2$、$\gcd(a,n)=1$ のとき $a,a^2,\dots$ を $n$ で割った余りがくり返す周期のことである。$a^d\equiv1\pmod n$ となる最小の正の整数 $d$ を $a$ の法 $n$ での位数という。$a^k\equiv1$ は $d\mid k$ と、$a^k\equiv a^l$ は $k\equiv l\pmod d$ と同値である。位数は Euler 関数 $\varphi(n)$ を割る(Lagrange の定理の特別な場合)。系として Euler の定理 $a^{\varphi(n)}\equiv1$ と Fermat の小定理が得られる。位数がちょうど $\varphi(n)$ の数があるとは限らない(法 $8$)。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 合同式の計算規則, 合同式の割り算と逆元, Fermatの小定理と冪の余り

高校での出発点:累乗の余りはくり返す

累乗 $a,a^2,a^3,\dots$ を $n$ で割った余りを並べると、同じ並びがくり返す。この記事では、そのくり返しの長さ(位数)を定義し、位数がどんな数を割るかを証明する。以下 $n$ は $2$ 以上の整数とし、$a\equiv b\pmod n$ は「$a-b$ が $n$ で割り切れる」ことを表す。

法 7 での累乗の余り

$3^k$、$2^k$、$6^k$ を $7$ で割った余りを並べる。

$k$$1$$2$$3$$4$$5$$6$$7$$8$
$3^k$ の余り$3$$2$$6$$4$$5$$1$$3$$2$
$2^k$ の余り$2$$4$$1$$2$$4$$1$$2$$4$
$6^k$ の余り$6$$1$$6$$1$$6$$1$$6$$1$

$3^k$ は $6$ 回、$2^k$ は $3$ 回、$6^k$ は $2$ 回で余りが $1$ になり、そこから同じ並びをくり返す。くり返しの長さ $6,3,2$ は、どれも $7-1=6$ の約数である。

一の位のくり返し

一の位は $10$ で割った余りである。

$k$$1$$2$$3$$4$$5$$6$
$3^k$ の一の位$3$$9$$7$$1$$3$$9$
$2^k$ の一の位$2$$4$$8$$6$$2$$4$

$3^k$ は $4$ 回で $1$ に戻る。$2^k$ も長さ $4$ でくり返すが、一の位が $1$ になることはない。$2$ と $10$ は公約数 $2$ をもち、$2^k$ はいつも偶数だからである。

図 1 は、法 $7$ で $3^k$ と $2^k$ の余りが円の上をまわる様子である。
法 7 で、3 の累乗の余りは 6 個すべてをまわって 1 に戻り、2 の累乗の余りは 1, 2, 4 の 3 個をまわって 1 に戻る 法 7 で、3 の累乗の余りは 6 個すべてをまわって 1 に戻り、2 の累乗の余りは 1, 2, 4 の 3 個をまわって 1 に戻る
この記事で答える問いは次の 3 つである。

  1. $\gcd(a,n)=1$ なら、累乗の余りは必ず $1$ に戻るか。→ prop-cgord-exists
  2. $a^k$ の余りが $1$ になる $k$ は、どんな数か。→ thm-cgord-exponent
  3. くり返しの長さが $p-1$(一般には $\varphi(n)$)を割るのはなぜか。→ thm-cgord-lagrange($\varphi(n)$ は def-cgord-units で定義する)
    高校の計算この記事の言葉大学の言葉
    累乗の余りの周期法 $n$ での位数群の元の位数
    指数を周期で割った余りに置き換える位数と指数の関係$\{k\mid a^k=1\}=d\mathbb{Z}$
    周期は $p-1$ の約数位数は $\varphi(n)$ を割るLagrangeの定理
    余りを組に分ける$xH$ の組分け部分群による剰余類(thm-cgord-lagrange の後で説明)

位数の定義

まず、$\gcd(a,n)=1$ なら累乗の余りが必ず $1$ に戻ることを示す。

累乗の余りは 1 に戻る

$\gcd(a,n)=1$ ならば、$a^d\equiv1\pmod n$ を満たす正の整数 $d$ が存在する。

同じ余りが 2 回出ることを使う

方針:余りは $n$ 通りしかないので、累乗を $n+1$ 個並べると同じ余りが 2 回出る。そこから $a$ の累乗を約分して $1$ を作る。
段 1(同じ余りを見つける)。$a^1,a^2,\dots,a^{n+1}$ の $n+1$ 個を $n$ で割った余りは、$0,1,\dots,n-1$ の $n$ 通りのどれかである。個数の方が多いので、余りが等しい 2 つがある(鳩の巣原理)。それを $a^i$ と $a^j$($1\le i< j\le n+1$)とすると、$a^j\equiv a^i\pmod n$ である。
段 2(約分する)。$\gcd(a,n)=1$ なので、合同式の割り算と逆元 により $a$ は逆元 $a'$ をもつ($aa'\equiv1$)。段 1 の式の両辺に $a'$ を $i$ 回掛けると、左辺は $a^j(a')^i=a^{j-i}(aa')^i\equiv a^{j-i}$、右辺は $a^i(a')^i=(aa')^i\equiv1$ になる。よって $a^{j-i}\equiv1\pmod n$ であり、$d=j-i$ は正の整数である。$\square$

法 $n$ での位数

$\gcd(a,n)=1$ とする。$a^d\equiv1\pmod n$ を満たす正の整数 $d$ のうち最小のものを、$a$ の 法 $n$ での位数 といい、$\operatorname{ord}_n(a)$ と書く。prop-cgord-exists により、このような $d$ は必ずある。

位数の表

ex-cgord-mod7・ex-cgord-mod10 と同じように、余りが初めて $1$ になる指数を調べる。

法 $7$ の $a$$1$$2$$3$$4$$5$$6$
$\operatorname{ord}_7(a)$$1$$3$$6$$3$$6$$2$
法 $10$ の $a$$1$$3$$7$$9$
---------------
$\operatorname{ord}_{10}(a)$$1$$4$$4$$2$

たとえば $4^1=4$、$4^2=16\equiv2$、$4^3=64=7\cdot9+1\equiv1\pmod 7$ なので $\operatorname{ord}_7(4)=3$ である。$9^2=81=10\cdot8+1$ なので $\operatorname{ord}_{10}(9)=2$ である。

主定理 1:位数と指数の関係

ex-cgord-mod7 の $2^k$ では、余りが $1$ になるのは $k=3,6,9,\dots$、つまり $3$ の倍数のときだけである。これが一般に成り立つ。

位数と指数の関係

$\gcd(a,n)=1$ とし、$d=\operatorname{ord}_n(a)$ とする。$0$ 以上の整数 $k,l$ について($a^0=1$ と約束する)、

  1. $a^k\equiv1\pmod n$ となるのは、$d$ が $k$ を割るときであり、そのときに限る。
  2. $a^k\equiv a^l\pmod n$ となるのは、$k\equiv l\pmod d$ のときであり、そのときに限る。
  3. $1,a,a^2,\dots,a^{d-1}$ を $n$ で割った余りは、すべて異なる。
指数を位数で割る

方針:指数 $k$ を $d$ で割った余りに注目する。$d$ が「最小」であることを使って、余りが $0$ でなければならないことを示す。
段 1(1 の「ならば」)。$d$ が $k$ を割るとき、$k=dm$ と書くと、累乗の規則により $a^k=(a^d)^m\equiv1^m=1$ である。
段 2(1 の「そのときに限る」)。$a^k\equiv1$ とする。$k$ を $d$ で割って $k=dq+r$($0\le r< d$)とすると
$$ a^k=(a^d)^q\cdot a^r\equiv1^q\cdot a^r=a^r\pmod n $$
なので $a^r\equiv1$ である。もし $r\ge1$ なら、$r$ は $a^r\equiv1$ を満たす正の整数で $d$ より小さく、$d$ が最小であることに反する。よって $r=0$ であり、$d$ は $k$ を割る。
段 3(2)。$k\ge l$ としてよい。$a$ は逆元 $a'$ をもつので、$a^k\equiv a^l$ の両辺に $a'$ を $l$ 回掛けると $a^{k-l}\equiv1$ になる。逆に $a^{k-l}\equiv1$ なら両辺に $a^l$ を掛けて $a^k\equiv a^l$ である。よって $a^k\equiv a^l$ と $a^{k-l}\equiv1$ は同値であり、1 によってこれは「$d$ が $k-l$ を割る」、つまり $k\equiv l\pmod d$ と同値である。
段 4(3)。$0\le i< j\le d-1$ で $a^i\equiv a^j$ とすると、2 により $d$ は $j-i$ を割る。しかし $0< j-i< d$ なので、これは起こらない。$\square$

位数を使って余りを求める
  1. $2^{100}$ を $7$ で割った余り。$\operatorname{ord}_7(2)=3$ で、$100=3\cdot33+1$ なので $100\equiv1\pmod 3$ である。thm-cgord-exponent の 2 により $2^{100}\equiv2^1=2\pmod 7$ である。
  2. $3^{2026}$ の一の位。$\operatorname{ord}_{10}(3)=4$ で、$2026=4\cdot506+2$ なので $3^{2026}\equiv3^2=9\pmod{10}$ であり、一の位は $9$ である。
  3. $2^k\equiv1\pmod 7$ となる $k$ は、1 により $3$ の倍数に限る。たとえば $2^{6}=64=7\cdot9+1$ は $1$ と合同だが、$2^{8}=256=7\cdot36+4$ は $1$ と合同でない。

$1$ の原始 $n$ 乗根 $\zeta$ について $\zeta^k=1$ となる条件も同じ形をしていることは 1の冪根による振り分けの公式 で扱う。

主定理 2:位数は $\varphi(n)$ を割る

既約剰余

法 $n$ の既約剰余と個数

正の整数 $n$ に対し、$1$ 以上 $n$ 以下の整数のうち、$n$ との最大公約数が $1$ であるものの個数を $\varphi(n)$ と書く(Eulerのφ関数)。$n\ge2$ のとき、$n$ 自身は $\gcd(n,n)=n\ge2$ なので数えられず、数えるのは $1$ 以上 $n-1$ 以下の数である。この数全体の集合を $U_n$ と書き、その要素を法 $n$ の 既約剰余 という。$\varphi(n)$ は $U_n$ の要素の個数である。

$n=1$ では、$1$ 以上 $1$ 以下の数 $1$ が $\gcd(1,1)=1$ を満たすので $\varphi(1)=1$ である。この記事では $n\ge2$ だけを考える。既約剰余は、合同式の割り算と逆元 の言葉では「法 $n$ で逆元をもつ $1$ 以上 $n-1$ 以下の数」である(最大公約数が $1$ であることと逆元をもつことは同値だから)。

既約剰余の例
  • $U_7=\{1,2,3,4,5,6\}$、$\varphi(7)=6$。$7$ は素数なので、$1$ から $6$ まですべてが入る。一般に素数 $p$ では $\varphi(p)=p-1$ である。
  • $U_{10}=\{1,3,7,9\}$、$\varphi(10)=4$。$2,4,5,6,8$ は $10$ と公約数をもつ。
  • $U_{12}=\{1,5,7,11\}$、$\varphi(12)=4$。
  • $U_{13}=\{1,2,\dots,12\}$、$\varphi(13)=12$。

ex-cgord-table の位数 $1,3,6,3,6,2$(法 $7$)はどれも $\varphi(7)=6$ を割り、$1,4,4,2$(法 $10$)はどれも $\varphi(10)=4$ を割る。これを証明するために、既約剰余どうしの積を調べる。

既約剰余の積は既約剰余

$x,y\in U_n$ ならば、$xy$ を $n$ で割った余り $r$ も $U_n$ に入る。

逆元をもつかどうかで判定する

方針:合同式の割り算と逆元 の「逆元をもつ $\iff$ 最大公約数が $1$」を使い、$r$ が逆元をもつことを示す。
段 1。$x,y$ は $n$ と互いに素なので、逆元 $x',y'$ をもつ($xx'\equiv1$、$yy'\equiv1$)。
段 2。積の規則により $r\cdot(y'x')\equiv(xy)(y'x')=x(yy')x'\equiv x\cdot1\cdot x'=xx'\equiv1\pmod n$ である。よって $r$ は逆元 $y'x'$ をもち、$\gcd(r,n)=1$ である。
段 3。$r=0$ なら $r\cdot(y'x')=0$ で、$0\equiv1\pmod n$ となるが、$n\ge2$ なのでこれは起こらない。よって $1\le r\le n-1$ であり、$r\in U_n$ である。$\square$

既約剰余どうしを掛ける
  • 法 $10$($U_{10}=\{1,3,7,9\}$):$3\cdot7=21=10\cdot2+1$、$7\cdot9=63=10\cdot6+3$、$9\cdot9=81=10\cdot8+1$ なので、積の余りは $1,3,1$ で、どれも $U_{10}$ に入る。
  • 法 $12$($U_{12}=\{1,5,7,11\}$):$5\cdot7=35=12\cdot2+11$、$5\cdot11=55=12\cdot4+7$ なので、積の余りは $11,7$ で、どちらも $U_{12}$ に入る。
  • $U_{12}$ に入らない $2$ と $3$ を掛けると $2\cdot3=6$ で、$\gcd(6,12)=6$ なので $6$ は $U_{12}$ に入らない。lem-cgord-closed の仮定 $x,y\in U_n$ がないと、積は $U_n$ の外に出ることがある。

組に分ける

定理の証明の考え方を、まず例で見る。

法 13 の既約剰余を 3 個ずつの組に分ける

法 $13$ で $3$ の累乗を計算すると、$3^1=3$、$3^2=9$、$3^3=27=13\cdot2+1\equiv1$ なので、$\operatorname{ord}_{13}(3)=3$ である。$3$ の累乗の余りの集合を $H=\{1,3,9\}$ とする。$U_{13}$ の数 $x$ に対して、$H$ の各数に $x$ を掛けた余りの集合を $xH$ と書く。

組$x\cdot1$$x\cdot3$$x\cdot9$
$1H$$1$$3$$9$
$2H$$2$$6$$18\equiv5$
$4H$$4$$12$$36\equiv10$
$7H$$7$$21\equiv8$$63\equiv11$

$U_{13}$ の $12$ 個の数が、$3$ 個ずつの $4$ つの組にちょうど分かれた。だから $12=4\cdot3$ で、位数 $3$ は $\varphi(13)=12$ を割る。組 $3H$ を作ると $\{3,9,1\}$ で $1H$ と同じになる。組は、共通の数があれば完全に一致する。
法 $7$ で $a=2$ なら $H=\{1,2,4\}$ で、$3H=\{3,6,12\equiv5\}$ と合わせて $U_7$ が $2$ 組に分かれる($6=2\cdot3$)。

法 13 の既約剰余 12 個が、H = {1, 3, 9} を何倍かした 4 つの組に 3 個ずつ分かれる 法 13 の既約剰余 12 個が、H = {1, 3, 9} を何倍かした 4 つの組に 3 個ずつ分かれる
図 2 は、ex-cgord-cosets13 の 4 つの組を色分けして並べたものである。どの組も $3$ 個からなり、どの 2 つの組も重ならず、4 つの組で $12$ 個すべてを覆う。この 3 つの性質を一般の $n$ と $a$ で示すのが、次の証明の段 1〜段 3 である。

位数は $\varphi(n)$ を割る

$\gcd(a,n)=1$ ならば、$\operatorname{ord}_n(a)$ は $\varphi(n)$ を割る。

同じ大きさの組に分ける

方針:ex-cgord-cosets13 と同じく、$U_n$ を $d=\operatorname{ord}_n(a)$ 個ずつの組に分ける。組がどれも $d$ 個からなり、重ならず、全体を覆うことを示せば、$\varphi(n)$ は $d$ の倍数になる。
段 0 は準備である。$a$ を $1$ 以上 $n-1$ 以下の数に取り替え、組を作るもとになる集合 $H$ を定める。
段 0-1($a$ と余り $r$ は同じ指数で $1$ と合同になる)。$a$ を $n$ で割って $a=nq+r$($0\le r< n$)とすると、$a-r=nq$ なので $a\equiv r\pmod n$ である。合同式の計算規則 の累乗の規則により、すべての正の整数 $k$ について $a^k\equiv r^k\pmod n$ である。よって $a^k\equiv1$ と $r^k\equiv1$ は同じ $k$ で成り立つ(対称律と推移律)。
段 0-2($r$ は $U_n$ に入り、位数は $a$ と同じ)。$\gcd(a,n)=1$ なので、合同式の割り算と逆元 により $a$ は逆元 $a'$ をもつ($aa'\equiv1$)。$r\equiv a$ の両辺に $a'$ を掛けると、積の規則により $ra'\equiv aa'\equiv1$ なので、$a'$ は $r$ の逆元でもある。合同式の割り算と逆元 の「逆元をもつ $\iff$ 最大公約数が $1$」により $\gcd(r,n)=1$ である。$r=0$ なら $\gcd(0,n)=n\ge2$ となってしまうので $r\ne0$ であり、$1\le r\le n-1$ である。よって $r\in U_n$ である。$\gcd(r,n)=1$ なので $r$ の位数が定義でき、段 0-1 により $r^k\equiv1$ となる $k$ は $a^k\equiv1$ となる $k$ と同じなので、その最小値である $r$ の位数は $a$ の位数に等しい。したがって、$a$ を $r$ に取り替えても定理の主張は変わらないので、以下 $a\in U_n$ とする。
段 0-3($H$ を作る)。$m=0,1,2,\dots$ について、$a^m$ を $n$ で割った余りを $h_m$ と書く($a^0=1$ なので $h_0=1$)。$H=\{h_0,h_1,\dots,h_{d-1}\}$ とおく。thm-cgord-exponent の 3 により $h_0,\dots,h_{d-1}$ はすべて異なるので、$H$ はちょうど $d$ 個の数からなる。
段 0-4($H$ は $U_n$ に含まれる)。すべての $m\ge0$ について $h_m\in U_n$ であることを、$m$ についての帰納法で示す。$m=0$ では、$h_0=1$ は $1$ 以上 $n-1$ 以下($n\ge2$ だから)で $\gcd(1,n)=1$ なので、$h_0\in U_n$ である。次に $h_{m-1}\in U_n$ とする。$a^{m-1}\equiv h_{m-1}$ に積の規則を使うと $a^m=a^{m-1}\cdot a\equiv h_{m-1}\cdot a\pmod n$ である。合同な数は $n$ で割った余りが等しい(合同式の計算規則)ので、$h_m$ は「$h_{m-1}$ と $a$ の積を $n$ で割った余り」に等しい。$h_{m-1}$ と $a$ はどちらも $U_n$ に入るので、lem-cgord-closed により $h_m\in U_n$ である。特に $H\subset U_n$ である。
段 0-5(どの累乗の余りも $H$ に入る)。$m\ge0$ を $d$ で割った余りを $m'$ とする($0\le m'\le d-1$)。$m\equiv m'\pmod d$ なので、thm-cgord-exponent の 2 により $a^m\equiv a^{m'}$ であり、$h_m=h_{m'}\in H$ である。
段 0-6(組を定める)。$x\in U_n$ に対し、$H$ の各数に $x$ を掛けて $n$ で割った余りの集合を $xH$ とする。
段 1($xH$ は $U_n$ に含まれ、ちょうど $d$ 個)。lem-cgord-closed により $xH\subset U_n$ である。$h,h'\in H$ で $xh\equiv xh'$ なら、$\gcd(x,n)=1$ なので約分して(合同式の割り算と逆元)$h\equiv h'$、$H$ の数は $n$ 未満なので $h=h'$ である。よって $H$ の異なる数は $xH$ の異なる数に移り、$xH$ はちょうど $d$ 個の数からなる。
段 2(どの数もどれかの組に入る)。$1\in H$ なので、$x=x\cdot1$ は $xH$ に入る。
段 3(共通の数があれば同じ組)。$xH$ と $yH$ に共通の数があるとし、$xa^i\equiv ya^j$($0\le i,j\le d-1$)とする。両辺に $a^{d-i}$ を掛けると、$a^d\equiv1$ により
$$ x\equiv xa^d=xa^i\cdot a^{d-i}\equiv ya^j\cdot a^{d-i}=ya^{j+d-i}\pmod n $$
である。すると $xH$ の任意の数 $xa^k$ について $xa^k\equiv ya^{j+d-i+k}$ であり、段 0-5 により $a^{j+d-i+k}$ の余りは $H$ に入るので、$xa^k$ の余りは $yH$ に入る。よって $xH\subset yH$ である。段 1 により両方とも $d$ 個なので、$xH=yH$ である。
段 4(数える)。段 2 により $U_n$ のどの数もどれかの組に入り、段 3 により異なる組は重ならない。段 1 によりどの組もちょうど $d$ 個である。組の数を $t$ とすると $\varphi(n)=td$ であり、$d$ は $\varphi(n)$ を割る。$\square$

この定理は、群についての Lagrangeの定理 の特別な場合である。大学の言葉では、$H$ は $U_n$ の部分群であり、組 $xH$ は部分群 $H$ による剰余類と呼ばれる(同じ分割による証明が Cri24 Theorem 8.3.12 にある)。これは 合同式の計算規則 で定義した「$n$ を法とする剰余類」($n$ を法として合同な整数全体の集合)とは中身が違う。あちらは整数全体を「差が $n$ の倍数かどうか」で分けたもの、こちらは $U_n$ の数を「$H$ の数を掛けて移り合うかどうか」で分けたものである。大学ではどちらも同じ「剰余類」という考え方の例として扱うが、この記事では混同を避けるため、$xH$ を「組」と呼んでいる。

Euler の定理の主張

$\gcd(a,n)=1$ ならば $a^{\varphi(n)}\equiv1\pmod n$ である。特に $n=p$ が素数で $p$ が $a$ を割らなければ、$a^{p-1}\equiv1\pmod p$ である。

位数の倍数の指数

方針:thm-cgord-lagrange と thm-cgord-exponent の 1 を組み合わせる。
thm-cgord-lagrange により $\operatorname{ord}_n(a)$ は $\varphi(n)$ を割る。thm-cgord-exponent の 1 により $a^{\varphi(n)}\equiv1$ である。$n=p$ が素数なら、$1$ から $p-1$ までのどの数も $p$ と互いに素なので $\varphi(p)=p-1$ である。$\square$

後半は Fermat の小定理であり、Fermatの小定理と冪の余り の「並べ替えて全部掛ける」証明とは別の証明になっている。

Euler の定理を使う
  1. $7^{2026}$ の一の位。$\varphi(10)=4$ で、$2026=4\cdot506+2$ なので、cor-cgord-euler と thm-cgord-exponent により $7^{2026}\equiv7^2=49\equiv9\pmod{10}$ であり、一の位は $9$ である。
  2. $5^{100}$ を $12$ で割った余り。$\varphi(12)=4$ で $100=4\cdot25$ なので、$5^{100}\equiv1\pmod{12}$ である。実際は $5^2=25=12\cdot2+1$ なので、$\operatorname{ord}_{12}(5)=2$ で、これも $4$ を割っている。
  3. 法 $13$ の位数は次のとおりで、どれも $\varphi(13)=12$ の約数である。
    $a$$1$$2$$3$$4$$5$$6$$7$$8$$9$$10$$11$$12$
    $\operatorname{ord}_{13}(a)$$1$$12$$3$$6$$4$$12$$12$$4$$3$$6$$12$$2$

例と反例

外した仮定・やりたい推論崩れる主張ボックス
逆向きの期待($\varphi(n)$ 自身も位数になるか)位数がちょうど $\varphi(n)$ の数があるex-cgord-nogen
$\gcd(a,n)=1$累乗の余りが $1$ に戻るex-cgord-notcoprime
「最小」の条件$a^k\equiv1$ なら $k$ が位数ex-cgord-notmin
反例:位数が $\varphi(n)$ に等しい数があるとは限らない

$U_8=\{1,3,5,7\}$ で $\varphi(8)=4$ である。しかし $3^2=9$、$5^2=25$、$7^2=49$ はどれも $8$ で割って $1$ 余るので、$3,5,7$ の位数は $2$ であり、位数 $4$ の数はない。thm-cgord-lagrange が言うのは「位数は $\varphi(n)$ を割る」ことだけで、「$\varphi(n)$ そのものが位数として現れる」は $n=8$ で破れる。法 $12$ でも $U_{12}=\{1,5,7,11\}$ の位数は $1,2,2,2$ で、$4$ は現れない。一方、素数 $p$ を法とすると、位数がちょうど $p-1$ の数(原始根)が必ずある(Ste17 Theorem 2.5.8。この記事では証明しない)。法 $13$ の $2$ がその例である。

反例:公約数があると 1 に戻らない

$2^k$ を $12$ で割った余りは $k=1,2,3,\dots$ で $2,4,8,4,8,4,\dots$ であり、$1$ にならない。$\gcd(2,12)=2\ne1$ で prop-cgord-exists の仮定を満たさない。$2^k$ はいつも偶数なので、$2^k-1$ は奇数で $12$ で割り切れないからである。余りの並びは $k\ge2$ で長さ $2$ のくり返しになるが、最初の $2$ には戻らない。

反例:$a^k\equiv 1$ でも $k$ が位数とは限らない

$2^6=64=7\cdot9+1$ なので $2^6\equiv1\pmod 7$ だが、$\operatorname{ord}_7(2)=3$ であり、$6$ は位数ではない。$a^k\equiv1$ から分かるのは「位数は $k$ を割る」(thm-cgord-exponent の 1)ことだけである。Fermat の小定理 $a^{p-1}\equiv1$ も、位数そのものではなく位数の倍数を与えている。

数学オリンピックの問題から

1999 年第 4 問:位数を最小の素因数で押さえる

国際数学オリンピック(1999 年)第 4 問

次の条件をすべて満たす正の整数の組 $(n,p)$ をすべて求めよ:$p$ は素数である;$n\le2p$ である;$(p-1)^n+1$ は $n^{p-1}$ で割り切れる。
出典:国際数学オリンピック(1999 年)第 4 問 Oly99。筆者による和訳。

高校数学で解く

方針:答は $(1,p)$($p$ は任意の素数)、$(2,2)$、$(3,3)$ である。$n\ge2$、$p$ が奇数のときは、$n$ の最小の素因数 $q$ を法とする $p-1$ の位数を調べて $q=p$ を導き、$n=p$ に絞る。最後に二項展開で $p$ を決める。
段 1($n=1$)。$n^{p-1}=1$ はどの整数も割るので、$(1,p)$ はすべての素数 $p$ について条件を満たす。以下 $n\ge2$ とする。
段 2($p=2$)。$n\le4$ で、条件は「$n^1$ が $1^n+1=2$ を割る」なので $n=2$ である。$(2,2)$ は条件を満たす。以下 $p$ は奇数の素数とする。
段 3($n$ は奇数)。$p-1$ は偶数なので $(p-1)^n$ は偶数、$(p-1)^n+1$ は奇数である。奇数を割る数は奇数なので、$n^{p-1}$ は奇数であり、$n$ も奇数である。
段 4(最小の素因数 $q$)。$n\ge3$ は奇数なので、$n$ の最小の素因数 $q$ は $3$ 以上の素数である。$c:=p-1$ とおく。$q$ は $n$ を割り、$n$ は $n^{p-1}$ を割り、$n^{p-1}$ は $c^n+1$ を割るので、$q$ は $c^n+1$ を割る。つまり
$$ c^n\equiv-1\pmod q $$
である。もし $q$ が $c$ を割れば $c^n\equiv0$ で、$0\equiv-1$、つまり $q$ が $1$ を割ることになり、起こらない。よって $\gcd(c,q)=1$ である。上の式の両辺を 2 乗すると $c^{2n}\equiv1\pmod q$ である。
段 5(位数が割る数)。$d:=\operatorname{ord}_q(c)$ とする。段 4 と thm-cgord-exponent の 1 により $d$ は $2n$ を割る。$q$ は素数なので、cor-cgord-euler と thm-cgord-exponent の 1 により $d$ は $q-1$ も割る。
段 6($d$ は $2$ を割る)。$d$ と $n$ の公約数 $e$ を考える。$e>1$ なら $e$ の素因数 $r$ があり、$r$ は $n$ を割るので $r\ge q$($q$ が最小の素因数だから)、また $r$ は $d$ を通して $q-1$ を割るので $r\le q-1$ となり、矛盾する。よって $\gcd(d,n)=1$ である。合同式の割り算と逆元 の Bézout の等式により $du+nv=1$ となる整数 $u,v$ があり、両辺に $2$ を掛けると $2=d\cdot2u+2n\cdot v$ である。$d$ は $d\cdot2u$ と $2n$ を割るので $2$ を割る。よって $d=1$ か $d=2$ であり、どちらでも $c^2\equiv1\pmod q$ である。
段 7($q=p$)。$n$ は奇数なので $n-1$ は偶数であり、
$$ c^n=\left(c^2\right)^{\frac{n-1}2}\cdot c\equiv1\cdot c=c\pmod q $$
である。段 4 と合わせて $c\equiv-1$、つまり $q$ は $c+1=p$ を割る。$p$ は素数で $q\ge3$ なので $q=p$ である。
段 8($n=p$)。段 7 により $p$ は $n$ を割るので、$n$ は $p$ の倍数である。$n\le2p$ なので $n=p$ か $n=2p$ であり、段 3 により $n$ は奇数なので $n=p$ である。
段 9($p$ を決める)。条件は「$p^{p-1}$ が $(p-1)^p+1$ を割る」になる。二項定理で展開すると
$$ (p-1)^p=\sum_{k=0}^{p}\binom pk p^k(-1)^{p-k} $$
である。$k=0$ の項は $(-1)^p=-1$($p$ は奇数)、$k=1$ の項は $p\cdot p\cdot(-1)^{p-1}=p^2$、$k=2$ の項は $\binom p2p^2(-1)^{p-2}=-p^3\cdot\frac{p-1}2$ で、$\frac{p-1}2$ は整数なので $p^3$ の倍数である。$k\ge3$ の項も $p^k$ を含むので $p^3$ の倍数である。よって
$$ (p-1)^p+1=p^2+(p^3\text{ の倍数}) $$
であり、$(p-1)^p+1$ は $p^2$ で割り切れるが $p^3$ では割り切れない。$p^{p-1}$ で割り切れるためには $p-1\le2$ が必要であり、奇数の素数 $p$ では $p=3$ である。実際 $(n,p)=(3,3)$ では $2^3+1=9=3^2$ で、条件を満たす。
段 1〜段 9 から、答は $(1,p)$($p$ は任意の素数)、$(2,2)$、$(3,3)$ である。$\square$

大学数学で見ると

鍵は、$c^k\equiv1$ となる $k$ 全体が「位数 $d$ の倍数全体」になるという thm-cgord-exponent の 1 である。このため、$c^{m}\equiv1$ と $c^{m'}\equiv1$ が分かれば、$d$ は $m$ と $m'$ の公約数であり、$c^{\gcd(m,m')}\equiv1$ が従う。上の解法は $m=2n$、$m'=q-1$ とし、最小の素因数 $q$ を選ぶことで $\gcd(2n,q-1)$ を $2$ まで押しつぶしている。大学の言葉では、「$\{k\in\mathbb{Z}\mid c^k=1\}$ は整数の加法について閉じた集合($\mathbb{Z}$ の部分群)であり、$\mathbb{Z}$ の部分群はすべて $d\mathbb{Z}$ の形である」ことがこの議論の骨組みである。段 9 の「$p$ で何回割り切れるか」の計算は、p進付値と呼ばれる考え方につながる。

さらに先へ

  • 原始根:素数 $p$ を法とすると、位数がちょうど $p-1$ の数が必ずある(原始根、Ste17 Theorem 2.5.8)。このとき $1$ から $p-1$ までの数はすべてその数の累乗の余りとして表せる(法 $7$ の $3$、ex-cgord-mod7)。
  • 群と Lagrange の定理:$U_n$ は掛け算について 群 になり、thm-cgord-lagrange は「有限群の部分群の要素の個数は、群の要素の個数を割る」という Lagrangeの定理 の特別な場合である。証明は同じく、部分群による剰余類(この記事の「組」)への分割による(Cri24 Theorem 8.3.12)。
  • 1 つの数の累乗ですべての要素が表せる群を 巡回群 という。$U_7$ は巡回群であり、$U_8$ は巡回群ではない(ex-cgord-nogen)。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する