2023

2023 #

概要 #

今年は西暦2023年です.Twitter で知ったのですが1,2023という数について,以下の式が成り立つのだそうです.

\[2023=(2+0+2+3)(2^2+0^2+2^2+3^2)^2.\]

指数まで対応しておりとてもきれいですね.

このような整数はレアケースすぎるので,少しだけ一般化した以下の問題を考えます.

Problem 1. 整数 \(x=\sum_{j=0}^{n-1}a_j10^j\) \((0\le a_j\le 9,j=0,1,\dots,n-1)\) に対して, \[ \prod_{k=1}^K\sum_{j=0}^{n-1}a_j^{i_k}=x \] を満たす整数 \(K\ge1\), \(1\le i_1\le\cdots\le i_K\) が存在するかを判定せよ.存在する場合はこの方程式を満たす \((i_1,i_2,\dots,i_K)\) をひとつ求めよ.

たとえば, \(x=2023\) の場合, \((a_0,a_1,a_2,a_3)=(3,2,0,2)\) であり, \((i_1,i_2,i_3)=(1,2,2)\) です.

本ページでは,この問題を解く方法を考え,具体的に解を求めてみます.

解法 #

解がある場合は, \(i\ge1\) について \(\sum_{j=0}^{n-1}a_j^i\mid x\) となる最小の \(i\) を求めて, \(x'=x/\sum_{j=0}^{n-1}a_j^i\) に対して \(\sum_{j=0}^{n-1}a_j^{i'}\mid x'\) を満たす \(i'\ge i\) を求めることを再帰的に行えば求まります.ただし, \(A\mid B\) とは, \(A\) \(B\) を割り切るという意味です.

解をもたない場合は,ある \(i\ge1\) \(\sum_{j=0}^{n-1}a_j^i>x\) となるので,解をもたないことが判定ができます.

具体的にいえば,以下の手続きで \(\mathtt{Solve}(a,x,1)\) \(\emptyset\) であれば解なし,そうでなければその戻り値が解のひとつになります.

Algorithm 2. \(\mathtt{Solve}(a, x, i)\) の擬似コードを以下で定める.ただし,\((a_1,\dots,a_n)\in\mathbb{N}^n,(b_1,\dots,b_m)\in\mathbb{N}^m\) に対して,\(\mathtt{append}(a,b)=(a_1,\dots,a_n,b_1,\dots,b_m)\in\mathbb{N}^{n+m}\) とする.

  • Input: \(a\in\mathbb{N}^n,x\in\mathbb{N},i\in\mathbb{N}\)
  • Output: \(\prod_{k=1}^K\sum_{j=0}^{n-1}a_j^{i_k}=x,i\le i_1\le\dots\le i_K\) を満たす \((i_1,i_2,\dots,i_K)\)
  1. if \(\max(a)\le1\) then
  2.   if \(i>1\) then return \(\emptyset\)
  3.   if \(\sum_{j=0}^{n-1}a_j=x\) then return \((1)\)
  4.   else return \(\emptyset\)
  5. end if
  6. for \(i’=i,i+1,\dots\) do
  7.   \(y\leftarrow\sum_{j=0}^{n-1}a_j^{i’}\)
  8.   if \(y>x\) then return \(\emptyset\)
  9.   if \(y=x\) then return \((i’)\)
  10.   if \(y\mid x\) then
  11.     \(L\leftarrow\mathtt{Solve}(a,x/y,i’)\)
  12.     if \(L=\emptyset\) then return \(\emptyset\)
  13.     else return \(\mathtt{append}((i’),L)\)
  14.   end if
  15. end for

Python 3.x による実装例は以下のとおりです.実行には NumPy が必要です.

\(0\le x<100000\) の場合 #

Algorithm 2. に基づき \(0\le x<100000\) について解をもつ \(x\) とその解のひとつを並べると以下のようになります.

  • \(0^1=0\)
  • \(1^1=1\)
  • \(2^1=2\)
  • \(3^1=3\)
  • \(4^1=4\)
  • \(5^1=5\)
  • \(6^1=6\)
  • \(7^1=7\)
  • \(8^1=8\)
  • \(9^1=9\)
  • \((8^1+1^1)^2=81\)
  • \((1^1+3^1+3^1)(1^2+3^2+3^2)=133\)
  • \(1^3+5^3+3^3=153\)
  • \((3^1+1^1+5^1)(3^2+1^2+5^2)=315\)
  • \(3^3+7^3+0^3=370\)
  • \(3^3+7^3+1^3=371\)
  • \(4^3+0^3+7^3=407\)
  • \((5^1+1^1+2^1)^3=512\)
  • \((8^1+0^1+3^1)(8^2+0^2+3^2)=803\)
  • \((1^1+1^1+4^1+8^1)(1^2+1^2+4^2+8^2)=1148\)
  • \((1^1+2^1+1^1+5^1)(1^3+2^3+1^3+5^3)=1215\)
  • \((1^1+5^1+4^1+7^1)(1^2+5^2+4^2+7^2)=1547\)
  • \(1^4+6^4+3^4+4^4=1634\)
  • \((2^1+0^1+2^1+3^1)(2^2+0^2+2^2+3^2)^2=2023\)
  • \((2^1+1^1+9^1+6^1)(2^2+1^2+9^2+6^2)=2196\)
  • \((2^1+4^1+0^1+0^1)(2^2+4^2+0^2+0^2)^2=2400\)
  • \((2^1+4^1+0^1+1^1)^4=2401\)
  • \((2^1+5^1+1^1+1^1)^2(2^2+5^2+1^2+1^2)=2511\)
  • \((3^1+7^1+0^1+0^1)(3^3+7^3+0^3+0^3)=3700\)
  • \(4^5+1^5+5^5+0^5=4150\)
  • \(4^5+1^5+5^5+1^5=4151\)
  • \((4^1+9^1+1^1+3^1)^3=4913\)
  • \((5^1+8^1+3^1+2^1)^3=5832\)
  • \(8^4+2^4+0^4+8^4=8208\)
  • \(9^4+4^4+7^4+4^4=9474\)
  • \((1^1+1^1+6^1+8^1+0^1)(1^3+1^3+6^3+8^3+0^3)=11680\)
  • \((1^1+3^1+6^1+0^1+8^1)(1^3+3^3+6^3+0^3+8^3)=13608\)
  • \((1^1+7^1+5^1+7^1+6^1)^3=17576\)
  • \((1^1+9^1+6^1+8^1+3^1)^3=19683\)
  • \((2^1+4^1+6^1+2^1+4^1)^2(2^2+4^2+6^2+2^2+4^2)=24624\)
  • \((3^1+2^1+1^1+4^1+4^1)^2(3^3+2^3+1^3+4^3+4^3)=32144\)
  • \((3^1+7^1+0^1+0^1+0^1)^2(3^3+7^3+0^3+0^3+0^3)=37000\)
  • \((4^1+1^1+5^1+0^1+0^1)(4^5+1^5+5^5+0^5+0^5)=41500\)
  • \((4^3+2^3+0^3+2^3+5^3)^2=42025\)
  • \((5^1+2^1+2^1+1^1+5^1)(5^2+2^2+2^2+1^2+5^2)^2=52215\)
  • \(5^5+4^5+7^5+4^5+8^5=54748\)
  • \((8^2+3^2+1^2+6^2+0^2)(8^3+3^3+1^3+6^3+0^3)=83160\)
  • \((8^1+7^1+9^1+4^1+9^1)(8^3+7^3+9^3+4^3+9^3)=87949\)
  • \(9^5+2^5+7^5+2^5+7^5=92727\)
  • \(9^5+3^5+0^5+8^5+4^5=93084\)

\(2023\) と同じ解をもつのは \(2400,52215\) であることがわかります.

また,解をもつ整数の割合は \(0\le x<100000\) の範囲では \(50/100000\) なので,割合としてはそれほどないことがわかります.

まとめ #

本ページでは \(2023=(2+0+2+3)(2^2+0^2+2^2+3^2)^2\) であることに着目し,類似の性質をもつ整数を具体的に求めました.その結果,割合としてはそのような整数はそれほどないことがわかりました.

Problem 1. において,解をもつ場合はひとつだけ求める問題としていますが,複数もつ場合については考えていません.また,複数解をもつ場合があるのかも検証していません.さらに,解をもつ整数の密度も明らかではありません.

複数解をもつ場合への考慮や,解をもつ整数の密度についての検討は今後の課題とします.


  1. “2^2+0^2+2^2+3^2” で検索をかけると言及されている方が多くいらっしゃることがわかります. ↩︎


This work is licensed under CC BY 4.0