SNNN数の倍数になるSNNN数の存在証明 ================================ **Edit (2024/03/29)**: 界隈でスタンダードな記法からずれていることなどがあり, 本記事の内容は参考程度のものになっています 今後は https://scrapbox.io/SNNN/ に集約したい所存 前提: $0\in\mathbb{N}$. > **Def**. > 1. $f(x) := 10x + 7$. > 2. $S_0 := 3$, $S_{n + 1} := f(S_n)$. $S_n$をn番目のSNNN数と呼ぶ. > 3. $R(n) := \sum_{i = 1}^n 10^{n - 1}$. 即ち$R(n)$はn桁のrepunitを表す. なお, $n = 0$の場合は空和と見做し$R(n) := 0$とする. 記法として自然数nに対し$f^n(x) := (f\circ f\circ ...\text{(n回の合成)}...\circ f)(x)$とする. $n = 0$の場合は恒等写像と定義する. 基本的な事実を以下にまとめて示す. > **Prop. 1**. $n, m \in \mathbb{N}$について$n \lt m$であるとき, 次が成立. > > 1. $S_m = f^m(3)$. > 2. $S_m = f^{m - n}(S_n)$. > 3. $10R(m) + 1 = R(m + 1)$. > 4. $f^m(x) = 10^mx + 7R(m)$. > 5. $R(m) = (10^m - 1) / 9$. **Proof**. 1. 定義より明白. 2. 定義より$S_n = f^n(3)$であるから$S_m = f^m(3) = (f^{m-n}\circ f^n))(3) = f^{m - n}(f^n(3)) = f^{m - n}(S_n)$. 3. $$ \begin{aligned} R(m + 1) &= \sum_{i = 1}^{m + 1} 10^{m - 1}\cr &= \sum_{i = 2}^{m + 1} 10^{m - 1} + 1\cr &= 10 \left(\sum_{i = 1}^m 10^{m - 1}\right) + 1\cr &= 10 R(m) + 1. \end{aligned} $$ 1. * $m = 0$のとき: $f^0$は恒等写像だから$10^0x + 7 R(0) = 1x + 0 = x = f^0(x)$. * $m = k - 1$で成立と仮定, $m = k$のとき: $$ \begin{aligned} f^k(x) &= f(10^{k - 1}x + 7 R(k - 1))\cr &= 10^kx + 7 (R(k - 1) 10 + 1)\cr &= 10^kx + 7 R(k). &(\because\text{Prop. 1 (3.)}) \end{aligned} $$ * 数学的帰納法により任意の自然数$m$に対し成立. 5. * $m = 0$のとき: $(10^0 - 1) / 9 = 0 = R(0)$. * $m = k - 1$で成立と仮定, $m = k$のとき: $$ \begin{aligned} R(k) &= 10 R(k - 1) + 1 & (\because \text{Prop. 1 (3.)})\cr &= 10 (10^{k - 1} - 1) / 9 + 1\cr &= (10^k - 10) / 9 + 1\cr &= (10^k - 1) / 9 - 9 / 9 + 1\cr &= (10^k - 1) / 9. \end{aligned} $$ * 数学的帰納法により任意の自然数$m$に対し成立. $\Box$ > **Cor. 2**. $\forall m\in \mathbb{N}. S_m = 3\cdot 10^m + 7R(m)$. **Proof**. Prop. 1 (4.)より成立. $\Box$ > **Lem. 3**. $\forall n, m \in\mathbb{N}$. $n \lt m$. このとき$S_n \mid S_m$であるための必要十分条件は$7 R(m − n) / S_n \in \mathbb{N}$である. **Proof**. * (**必要性**): ある$k \in \mathbb{N}$が存在して$S_m = kS_n$. すると $$ \begin{aligned} S_m = kS_n &\iff f^{m - n}(S_n) = kS_n & (\because\text{Prop. 1 (2.)})\cr &\iff 10^{m - n}S_n + 7 R(m - n) = kS_n &(\because\text{Prop. 1 (4.)})\cr &\iff 10^{m - n} + 7R(m - n) / S_n = k\cr &\iff 7R(m - n) / S_n = k - 10^{m - n} \end{aligned} $$ である. $k, 10^{m - n}$はそれぞれ自然数だからその差は整数であり, したがって左辺$7R(m - n) / S_n$も整数である. とくに, 左辺は0より真に大きいため, 自然数である. * (**十分性**): $k := 10^{m - n} + 7R(m - n) / S_n$とおく. このとき $$ \begin{aligned} kS_n &= S_n(10^{m - n} + 7R(m - n) / S_n)\cr &= 10^{m - n}S_n + 7R(m - n)\cr &= f^{m - n}(S_n)\cr &= S_m\cr \end{aligned} $$ であるから成立. $\Box$ > **Lem. 4**. $\forall x \in \mathbb{N}$. $\exists m \in \mathbb{N}$. $x \mid R(m)$. **Proof**. $k := \varphi(9x)$とおく. ただし$\varphi$はEuler totient. すると$10^k \equiv 1 \pmod{9x}$である. このとき$\exists t \in \mathbb{N}$. $10^k - 1 = 9tx$なのでProp. 1 (5.)より$tx = (10^k - 1) / 9 = R(k)$. したがって$x \mid R(k)$. $\Box$ > **Thm. 5**. $\forall n \in \mathbb{N}$. $\exists k, m \in \mathbb{N}$. $k \ne 1 \land S_m = k S_n$. **Proof** * (**$k, m$の存在**): Lem. 4よりある$t \in \mathbb{N}$が存在して$S_n\mid R(t)$をみたす. $m := n + t$とおくと, $7 R(m - n) = 7 R(n + t - n) = 7 R(t)$は$S_n$を約数にもつ. Lem. 3より$S_n \mid S_m$であり, これゆえある$k$が存在して$S_m = k S_n$. * ($k\ne 1$): Cor. 2より$S_m = 3\cdot 10^m + 7R(m)$かつ$R(m)\gt R(m - n) = R(t)$である. $S_n\mid R(t)$より$S_n\leq R(t)\lt R(m)$. ゆえに$S_n\lt 3\cdot 10^m + S_n\lt 3\cdot 10^m + 7R(m) = S_m$であり, $1 \ne k$が帰結する. $\Box$ --- おまけ: Pari/GPスクリプト ( http://pari.math.u-bordeaux.fr/gpwasm.html で試せる) ```parigp= repunit(n) = (10^n - 1) / 9 Sn(n) = 3 * 10^n + 7 * repunit(n) multiple_m(n) = { \\ Thm. 5 x = Sn(n); t = eulerphi(9 * x); return(n + t); } nn = 40 m = multiple_m(nn) print([nn, m]) \\ [S_n, S_m] \\ しばしばmは巨大になるので, 計算段階からModを取って判定する \\ gcd(9, S_n) = 1を仮定しなくてもいいように9倍したものだけ計算する簡易検証コード sn = Sn(nn) \\ 9 * S_m ≡ 0 (mod S_n)を展開しただけ print(27 * Mod(10, sn)^m + 7 * (Mod(10, sn)^m - 1) == 0) \\ 1 \\ gcd(9, S_n) = 1の場合は厳密に計算できる \\ gcd(9, S_n) ≠ 1の場合は個別検証することになるが, まあ位数9の元に関する議論だしO(1)で検証できます \\ S_m ≡ 0 (mod S_n)を展開しただけ \\ print(3 * Mod(10, sn)^m + 7/9 * (Mod(10, sn)^m - 1) == 0) \\ 1 ```