合成数(composite number)とは、$2$ 以上の整数のうち素数でないもの、すなわち $n=ab$、$1<a,b<n$ と書ける整数のことで、$1$ は素数でも合成数でもない。$n\ge2$ が合成数であることは、$\sqrt{n}$ 以下の $1$ より大きい約数をもつこと、$\varphi(n)<n-1$、$\mathbb{Z}/n\mathbb{Z}$ が整域でないこと、$a^{n-1}\not\equiv1\pmod n$ となる $1\le a\le n-1$ があることなどと同値で、合成数では $\sigma(n)\ge n+1+\sqrt{n}$、$\varphi(n)\le n-\sqrt{n}$ となる。奇数の合成数は $x-y\ge2$ の平方数の差 $x^2-y^2$ に書け、これが Fermat の因数分解法の元になる。
前提知識: 素数, 約数, 整除関係, Eulerのφ関数, Fermatの小定理
合成数(composite number)は、$2$ 以上の整数のうち素数でないもの、つまり $1$ より大きい 2 つの数の積に分けられる数である。$4=2\cdot2$、$6=2\cdot3$、$91=7\cdot13$ などがそうである。素数が掛け算の「原子」なら、合成数は原子を 2 個以上組み合わせた「分子」にあたる。合成数であることは因数を 1 組見せれば確かめられるが、素数であることは「どんな因数もない」ことを確かめなければならず、この非対称が素数判定と素因数分解の難しさの出発点になる。この記事では、合成数を約数の個数・約数の和・Euler の関数・剰余環・Fermat の小定理のそれぞれで言い換える主定理と、その量的な形、奇数の合成数を平方数の差として見る Fermat の考え方を証明し、合成数がどれくらいあるか、どんな式が合成数を作るかを例と反例で見る。
整数 $n\ge2$ が素数でないとき、$n$ を 合成数 という。すなわち $n$ が $1$ と $n$ 以外の正の約数をもつことであり、これは
$$
n=ab,\qquad 1< a< n,\quad 1< b< n
$$
となる整数 $a,b$ があることと同値である。
同値であることは次のとおりである。$1< d< n$ となる約数 $d$ があれば $n=d\cdot(n/d)$ で、$d< n$ から $n/d>1$、$d>1$ から $n/d< n$ である。逆に $n=ab$、$1< a< n$ なら $a$ が $1,n$ 以外の約数である。定義は Ste17 Definition 1.1.3(p. 2)、Cri24 Definition 6.1.2(p. 71)と同じである。
$n$ 個の点を長方形に並べることを考えると、$1$ 行に並べる以外の長方形が作れるのが合成数、作れないのが素数である。$12$ 個なら $2\times6$ や $3\times4$ に並ぶが、$13$ 個は $1\times13$ にしか並ばない。合成数であることの「証拠」は長方形の縦と横、つまり因数 $a,b$ の組であり、これを見せれば誰でも掛け算 1 回で確かめられる。しかし大きな数について証拠を 見つける のは難しい。この記事の主定理は、因数そのものを見せなくても合成数であることがわかる言い換え(約数の和、Euler の関数、Fermat の小定理が破れること)を並べたものであり、その 1 つは実際の素数判定の考え方の元になっている。
$100$ 以下の合成数を小さい順に並べると
$$
4,6,8,9,10,12,14,15,16,18,20,21,22,24,25,26,27,28,30,32,33,34,\dots
$$
と続く(Ste17 p. 2)。$2$ より大きい偶数はすべて $n=2\cdot(n/2)$ と分けられるので合成数であり、偶数の素数は $2$ だけである。$100$ 以下の素数は $25$ 個なので、$2$ 以上 $100$ 以下の合成数は $99-25=74$ 個ある。一般に $x\ge2$ 以下の合成数の個数は $\lfloor x\rfloor-1-\pi(x)$ である($\pi(x)$ は 素数計数関数)。$1000$ 以下では $831$ 個である。
すべての整数 $n$ について
$$
n^4+4=(n^2+2n+2)(n^2-2n+2)
$$
である(右辺を展開すると $(n^2+2)^2-(2n)^2=n^4+4n^2+4-4n^2$)。$n\ge2$ なら $n^2-2n+2=(n-1)^2+1\ge2$ で、$n^2+2n+2>n^2-2n+2$ なので、両方の因数が $1$ より大きく、$n^4+4$ は合成数である。$n=3$ では $85=17\cdot5$、$n=5$ では $629=37\cdot17$ である。$n=1$ では小さい方の因数が $1$ になり、$1^4+4=5$ は素数である。
$89$ と $97$ の間の $90,91,\dots,96$ は $7$ 個続けて合成数である($91=7\cdot13$、$95=5\cdot19$ で、ほかは偶数か $3$ の倍数)。いくらでも長く続く合成数の並びは、$n!+2,\dots,n!+n$ の $n-1$ 個として作れる(素数 の記事の「素数の分布」の節)。$7$ 個の並びを得るにはこの作り方では $n=8$ として $40322$ から始めることになり、実際の最初の並びよりずっと先になる。素数の積を使う作り方もあり、$N=2\cdot3\cdot5\cdot7=210$ とすると $N-7,\dots,N-2$、すなわち $203,\dots,208$ の $6$ 個が合成数になる。$2\le x\le7$ の各 $x$ の素因数 $p$ は $N$ と $x$ をともに割り切るので $N-x$ を割り切り、$1< p\le7<203\le N-x$ だからである(Cri24 Fact 21.3.5、p. 376)。
合成数について成り立つ主張の条件を外すと、次のように崩れる。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| $n\ge2$ | $n=1$ | 素数か合成数のどちらか一方であること |
| $n\neq4$ | $n=4$ | 合成数 $n$ で $(n-1)!\equiv0\pmod n$($3!=6\equiv2\pmod4$) |
| すべての $a$($n$ と互いに素でないものも含めて)調べる | $n=561=3\cdot11\cdot17$ | 「調べた $a$ のすべてで $a^{n-1}\equiv1\pmod n$ なら $n$ は素数」という判定($n$ と互いに素な $a$ だけを調べると、合成数 $561$ を見分けられない) |
| $n$ が奇数 | $n=6$ | 合成数が $x^2-y^2$($x-y\ge2$)の形に書けること |
| $n\ge2$ | $n=1$ | $n^4+4$ が合成数であること($5$ は素数) |
| $0\le n\le39$ | $n=40$ | $n^2+n+41$ が素数であること($41^2$) |
2 行目は Wilsonの定理 の記事の命題「合成数での余り」、3 行目は 既約剰余類群 の記事の例「最小の Carmichael 数 $561$」、4 行目は thm-cmp-fermat-difference の条件、5 行目は ex-cmp-germain である。3 行目の区別は thm-cmp-characterization の (7) で詳しく述べる。
$n$ の正の約数の個数を $\tau(n)$、正の約数の和を $\sigma(n)$、$1\le a\le n$ で $\gcd(a,n)=1$ となる $a$ の個数を $\varphi(n)$(Eulerのφ関数)、素因数を重複をこめて数えた個数を $\Omega(n)$ と書く。
$n\ge2$ を整数とする。次の条件は互いに同値である。
(1) $n$ は合成数である。
(2) $1< d\le\sqrt n$ を満たす $n$ の約数 $d$ がある。
(3) $\tau(n)\ge3$ である。
(4) $\sigma(n)>n+1$ である。
(5) $\varphi(n)< n-1$ である。
(6) 剰余環 $\mathbb Z/n\mathbb Z$ は整域でない($0$ でない 2 つの類の積が $0$ になる)。
(7) $1\le a\le n-1$ の範囲に、$a^{n-1}\not\equiv1\pmod n$ となる整数 $a$ がある。
(8) $\Omega(n)\ge2$ である。
各条件を (1) と比べる。
(1)⇔(2):(1) なら、$n$ の $1$ より大きい最小の約数 $p$ は $p\le\sqrt n$ を満たす(素数 の記事の命題「素因数の存在」の 2)。逆に (2) の $d$ は $d\le\sqrt n< n$ なので、$1,n$ 以外の約数であり、$n$ は合成数である。
(1)⇔(3)⇔(4):$n\ge2$ なので $1$ と $n$ は異なる約数であり、$\tau(n)\ge2$、$\sigma(n)\ge n+1$ である。$n$ が素数であることは約数が $1,n$ だけであることなので、$\tau(n)=2$ とも $\sigma(n)=n+1$ とも同値である。どちらの等号も、$1,n$ 以外の約数が 1 つでもあれば破れる(その約数の分だけ個数と和が増える)。
(1)⇔(5):$\gcd(n,n)=n>1$ なので $a=n$ は数えられず、$\varphi(n)\le n-1$ である。等号は、$1\le a\le n-1$ のすべての $a$ が $n$ と互いに素であることと同じである。$n$ に $1< d< n$ の約数 $d$ があれば $\gcd(d,n)=d>1$ なので等号は成り立たない。逆に $1\le a\le n-1$ で $g=\gcd(a,n)>1$ となる $a$ があれば、$g$ は $1< g\le a< n$ を満たす $n$ の約数なので $n$ は合成数である。
(1)⇔(6):整域 の記事の命題「$\mathbb{Z}/n\mathbb{Z}$ が整域になる条件」による(合成数 $n=ab$ では $\bar a\bar b=\bar0$)。
(1)⇔(7):$n$ が素数なら、$1\le a\le n-1$ は $n$ で割り切れないので Fermatの小定理 により $a^{n-1}\equiv1\pmod n$ であり、(7) は成り立たない。$n$ が合成数なら、$1< d< n$ となる約数 $d$ をとる。もし $d^{n-1}\equiv1\pmod n$ なら $n\mid d^{n-1}-1$ で、$d\mid n$ から $d\mid d^{n-1}-1$ となる。$n-1\ge1$ なので $d\mid d^{n-1}$ でもあり、$d\mid 1$ となって $d>1$ に反する。よって $a=d$ が (7) の $a$ である。
(1)⇔(8):素因数分解 $n=p_1\cdots p_k$(重複を許す)は一意であり(素数 の記事の定理「算術の基本定理」)、$\Omega(n)=k$ である。$k=1$ は $n$ が素数であること、$k\ge2$ なら $n=p_1\cdot(p_2\cdots p_k)$ は $1$ より大きい 2 数の積である。$\square$
主定理の (4) と (5) は、合成数では $\sigma(n)$ と $\varphi(n)$ が素数の場合の値 $n+1$、$n-1$ から $\sqrt n$ 程度離れる、という形に強められる。
$n$ を合成数とする。
$p$ を $n$ の最小の素因数とする。$n$ は合成数なので $p\le\sqrt n$ であり(thm-cmp-characterization の (2) の証明)、$n/p\ge\sqrt n\ge p>1$、$n/p< n$ である。
$n=91=7\cdot13$ では $\sigma(91)=1+7+13+91=112\ge91+1+\sqrt{91}\approx101.5$、$\varphi(91)=6\cdot12=72\le91-\sqrt{91}\approx81.5$ である。$n=49$ では $\sigma(49)=57=49+1+7$、$\varphi(49)=42=49-7$ で等号になる。対偶を読めば、$\varphi(n)>n-\sqrt n$ となる $n\ge2$ は素数である。
$n\ge3$ を奇数とする。$n$ が合成数であることと、
$$
n=x^2-y^2,\qquad x,y\text{ は }0\text{ 以上の整数},\qquad x-y\ge2
$$
と書けることは同値である。さらに、分解 $n=ab$($1\le a\le b$)と、表し方 $n=x^2-y^2$($x>y\ge0$)は
$$
(a,b)\longmapsto\Bigl(x,y\Bigr)=\Bigl(\frac{a+b}2,\ \frac{b-a}2\Bigr),\qquad (x,y)\longmapsto(a,b)=(x-y,\ x+y)
$$
によって 1 対 1 に対応する。
$n=ab$、$1\le a\le b$ とする。$n$ は奇数なので $a,b$ はともに奇数で、$a+b$ と $b-a$ は偶数である。よって $x=(a+b)/2$、$y=(b-a)/2$ は $0$ 以上の整数で、$x>y$($a\ge1$ より)、
$$
x^2-y^2=(x-y)(x+y)=a\cdot b=n
$$
である。逆に $n=x^2-y^2$、$x>y\ge0$ なら、$a=x-y\ge1$、$b=x+y\ge a$ で $ab=n$ である。2 つの対応は互いに逆写像である($x-y=a$、$x+y=b$ を解くと $x,y$ が、逆も同様に決まる)。
この対応で $x-y=a$ なので、「$x-y\ge2$ の表し方がある」ことは「$a\ge2$ の分解 $n=ab$、$a\le b$ がある」ことと同じである。$a\ge2$ なら $b=n/a< n$ であり、$a\le b$ から $a< n$ でもあるので、これは $n$ が合成数であることと同値である。$\square$
素数 $p\ge3$ の表し方は $a=1$ に対応する $p=\bigl(\frac{p+1}2\bigr)^2-\bigl(\frac{p-1}2\bigr)^2$ ただ 1 つであり、合成数には $x-y\ge2$ の表し方が少なくとももう 1 つある。この事実を因数の探索に使うのが Fermat の因数分解法 で、$\sqrt n$ 以上の最小の整数 $x$ から始めて、$x^2-n$ が平方数になるまで $x$ を $1$ ずつ増やす(Cri24 Fact 12.5.7・Algorithm 12.5.9、p. 202)。2 つの因数が近いときに速く終わる方法である。
$\sqrt{5959}\approx77.2$ なので $x=78$ から始める。
$$
78^2-5959=125,\qquad 79^2-5959=282,\qquad 80^2-5959=441=21^2
$$
で、$125$、$282$ は平方数でなく、$441$ で平方数になる。よって $5959=80^2-21^2=(80-21)(80+21)=59\cdot101$ である。同じく $899=30^2-1^2=29\cdot31$ は最初の $x=30$ で終わる。
偶数の合成数では、この定理は成り立たない。$x^2-y^2=(x-y)(x+y)$ の 2 因数は偶奇が等しいので、平方数の差は奇数か $4$ の倍数であり、$n\equiv2\pmod 4$ の合成数($6,10,14,\dots$)は平方数の差に書けない。これが反例の表の 4 行目である。
素数計数関数 の記事の命題「素数の割合の極限」により $\pi(x)/x\to0$ なので、$x$ 以下の合成数の個数 $\lfloor x\rfloor-1-\pi(x)$ を $x$ で割ったものは $1$ に近づく。つまり、正の整数から無作為に選んだ数は、選ぶ範囲を大きくするほど合成数である割合が $1$ に近づく。$100$ 以下では $74$ 個、$1000$ 以下では $831$ 個が合成数である。ex-cmp-runs のとおり合成数だけの並びはいくらでも長くなるが、それでも素数は無限にあり(素数 の記事の定理「素数の無限性」)、合成数の並びは必ずどこかで途切れる。
法 $n$ が合成数になると、素数を法とするときに成り立つ事実がいくつも崩れる。$\mathbb Z/n\mathbb Z$ に $0$ でない零因子が現れ(主定理の (6))、$x^2\equiv1\pmod n$ が $\pm1$ 以外の解をもちうる(法 $15$ での $4^2\equiv1$)。どの事実がどう崩れるかは 合成数を法とする合同式 と 既約剰余類群 の記事で扱う。暗号の RSA 方式は、$2$ つの大きな素数の積である合成数 $n$ について、$n$ そのものは公開しても因数が見つけにくいことを使っている(Eulerのφ関数 の記事の例「RSA暗号と $\varphi(pq)$」)。
合成数の定義は Ste17 Definition 1.1.3(p. 2)、Cri24 Definition 6.1.2(p. 71)にある。試し割りは Cri24 Algorithm 6.2.3(p. 76)、同じ事実を使う素数のふるいは Ste17 Algorithm 1.2.3(p. 12)、合成数の長い並びは Cri24 Fact 21.3.5(p. 376)と Sho08 Exercise 1.28(p. 13)、$\mathbb Z/n\mathbb Z$ が体になるのは $n$ が素数のときに限ることは Sho08 Example 7.11(p. 170)、Fermat の因数分解法は Cri24 §12.5(p. 202)にある。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する