魔方陣』ってありますよね。
全ての枡に違う値が入っているのに、どの段を横に足しても、どの列を縦に足しても、対角線に足しても、同じ答になる。
これを『魔方陣』と呼びます。

一般的な『魔方陣』は、3×3です。
こんな感じです。

┏━┳━┳━┓
┃6┃1┃8┃
┣━╋━╋━┫
┃7┃5┃3┃
┣━╋━╋━┫ 
┃2┃9┃4┃
┗━┻━┻━┛

これは、1〜9を9枡に一つずつ入れ、縦横斜めの合計が、全て15になっています。
3×3の魔方陣の答は、これだけです。
「いやいや、もっとあるでしょう」
あると言えばあります。
全部で8パターンがあります・・・が、これらは全て対称配置なのです。
上図では、左上に『6』がありますが、これを右上、右下、左下と回転させていくと、4パターンできます。更に、上下か左右を入れ替えて、同じように回転させます。
合わせて8パターンです。
「上下を反転させたパターンは?」
上下を反転させて180度回転させると、左右を反転させた場合と同じになります。つまり、左右反転でも上下反転でも、回転させると同じパターンになります。更には、対角線で反転させても、同じになります。

1〜9の置き方は、対称を含めて9!通り(362880通り)もありますが、ポイントである中央の『5』に気付きさえすれば、少し頑張れば見付けることができます。


さて、3×3の魔方陣を見て気付くことは、一桁の自然数を全て使っていることです。
自然数は、10進数ですね。
10進数以外の魔方陣は、どうなるのでしょうか。
10進数以外では、2進数、12進数、16進数、24進数、60進数などがあります。
魔方陣は、nの二乗ですから、必要な数は、4、9、16、25、36、49、64・・などです。
n進数と一致するのは、16進数です。
と言うことで、SE(三流に過ぎないが)でもある私は、4×4の魔方陣に、1桁の16進数(0〜F)を当て嵌めててみることにしました。

と意気込んでみましたが、なかなか見付かりません。
0〜Fの合計は、n(n+1)/2から、78(10進数で120)です。これが4列に均等に分かれるので、右へ2bitシフトする(4で割る)と、1列の合計は1E(10進数で30)とわかります。
ここまでは簡単ですが、組合せが多く、全てが1Eになるパターンが見付かりません。
4×4の魔方陣は、数字の配置が対称を含めて16!パターンもあります。20兆9227億8988万8000パターンです。
こんなにあるので、感覚的に探しても無理です。かと言って、数学が苦手な私は、数学的に解を探すにも時間が掛かります。
・・で、プログラムを組んで、虱潰しに探すことにしました。
それでも、6時間半も掛かりました。(実際には、数回に分けて実施)
その結果、対称を含めて7040パターン(対称を除くと880パターン)の解を見つけることができました。
29億7198万7200パターンに一つの割合で、解が存在する計算です。道理で、中々解が見付からないはずです。
せっかく、7040パターンもの解が見付かったので、もう一捻りすることにしました。
チャレンジしたのは、対角線に並行な枡も、同じ値にすることです。
それが、下記です。

┏━┳━┳━┳━┓
┃0┃C┃B┃7┃
┣━╋━╋━╋━┫
┃5┃9┃2┃E┃
┣━╋━╋━╋━┫
┃A┃6┃D┃1┃
┣━╋━╋━╋━┫
┃F┃3┃4┃8┃
┗━┻━┻━┻━┛

右上から左下への3枡の合計は、どちらも1Eになります。
左上から右下への3枡も、合計を1Eにしたかったのですが、そのようなパターンは存在しませんでした。


さて、今回の魔方陣は、足し算で作りましたが、掛け算で作る事はできるのでしょうか。
実は、簡単なのです。
足し算の魔方陣をベースに、nの累乗で作れば良いのです。nは、1以外なら幾つでもOkです。nは1でも良いですが、全ての枡が1になってしまうので、面白くありません。
では、n=2でやってみましょう。なお、10進数で魔方陣を作ってみましょう。

━━━━━┳━━━━┳━━━━┳━━━━━┓
┃    1┃4096┃2048┃  128┃
┣━━━━━╋━━━━╋━━━━╋━━━━━┫
┃   32┃ 512┃   4┃32384┃
┣━━━━━╋━━━━╋━━━━╋━━━━━┫
┃ 1024┃  64┃8192┃    2┃
┣━━━━━╋━━━━╋━━━━╋━━━━━┫
┃32768┃   8┃  16┃  256┃
┗━━━━━┻━━━━┻━━━━┻━━━━━┛

10進数で表現しましたが、本当は16進数の方がわかりやすいと思います。

┏━━━━┳━━━━┳━━━━┳━━━━┓
┃   1┃1000┃ 800┃  80┃
┣━━━━╋━━━━╋━━━━╋━━━━┫
┃  20┃ 200┃   4┃4000┃
┣━━━━╋━━━━╋━━━━╋━━━━┫
┃ 400┃  40┃2000┃   2┃
┣━━━━╋━━━━╋━━━━╋━━━━┫
┃8000┃   8┃  10┃ 100┃
┗━━━━┻━━━━┻━━━━┻━━━━┛

掛け算の魔方陣が成立していることが、感覚的にわかります。
これは、16進数が2の4乗でできているので、2の累乗を当て嵌めた『掛け算魔方陣』は、わかりやすい数値となりました。
10の累乗で『掛け算魔方陣』を作れば、その成り立ちがわかりやすいでしょう。

もう一段、数学的に説明すると、「掛け算は、指数部の足し算になる」と言う数学のルールの応用なのです。
例えば、2^2 × 2^3は、2^(2+3)となります。
左端の縦を考えると、2^0×2^5×2^10×2^15なので、2^(0+5+10+15)になります。結局、掛け算魔方陣でも、中身は足し算魔方陣のままなのです。
ここまで説明すれば、各列の掛け算の結果もわかりますね。
そうです。
nの30乗になります。
前述の例のようにn=2ならば、どの列も10億7374万1824になります。
16進数なら、40000000です。

掛け算の魔方陣は、別の方法もあります。
各枡に、2^m× 3^nを入れていくのです。(mとnは、それぞれ0〜3をとる)
累乗の項(mとn)が重ならないよう、上手く配置すれば、掛け算魔方陣が完成します。その時、掛け算の結果は、2^(0+1+2+3) ×3^(0+1+2+3) = 46656になります。
実例を一つ書いておきます。

┏━━━┳━━━┳━━━┳━━━┓
┃  1┃ 72┃ 54┃ 12┃
┣━━━╋━━━╋━━━╋━━━┫
┃ 36┃ 24┃  2┃ 27
┣━━━╋━━━╋━━━╋━━━┫
┃  6┃  9┃108┃  8
┣━━━╋━━━╋━━━╋━━━┫
┃216┃  3┃  4┃ 18┃
┗━━━┻━━━┻━━━┻━━━┛

上記で使われている数値は、全て2^m × 3^nの形になっています。
例えば、1は、2^0 × 3^0です。
8は、2^3 × 3^0、27は、2^0 × 3^3、108は、2^2 × 3^3 です。
掛け算魔方陣を作る時には、指数を意識することで、比較的簡単に作れます。


さて、16進数の魔方陣を中心に見てきましたが、いかがでしたか?

素数で構成された魔方陣もあります。ちなみに、素数の魔方陣は足し算のみです。掛け算ではできないので、チャレンジは無駄になります。御注意ください。
形も、様々な魔方陣があります。
ちょっと調べてみても、面白いかもしれません。

暇な時に、数学パズルとしての魔方陣を考えてみてはいかがでしょうか。