立方陣

立方陣とは、n×nの魔方陣をn段重ねたn×n×nの立方体について、上下・左右・前後・斜めのいずれの列についても、その列の数字の合計が同じになるもののことである。特に1から立方陣のマスの総数までの数字を1つずつ過不足なく使ったものを言う。英語では魔方陣:magic squareに対して、magic cube と呼ばれる。 

このときの一列の和は、

と計算できる。

立体では、斜め方向にあたる方向について、表面に平行な面の正方形の対角方向成分および、立体的に中心を通って反対頂点に向う対角方向成分とある。n=3およびn=4では、完全にその全てを揃えることができず、一方のみ合計を揃えたものが作れる。

3×3×3の（準）立方陣
1×1×1の立方陣は明らかであり、2×2×2の立方陣は存在しない。3×3×3では、上下左右前後の立体の辺に平行な方向と、立体の中心を通る対角線上の合計を揃えた立方陣が存在する。

4×4×4の（準）立方陣
4×4×4では、表面に平行な面の対角成分　または、中心を通って反対頂点に向う4本の対角成分の、どちらかの合計を、他の辺に平行な成分の合計と一致させたものが存在する。

5×5×5 および 6×6×6の立方陣
ながらくこの存在は不明だったが、コンピュータを使って全ての対角成分も含めて1列に並ぶ数字の合計が等しくなる立方陣が2003年にTrumpらによって発見された。

7×7×7の立方陣
7が素数であることから、比較的容易に作れる。1866年にA.Hフロストが発表している。

8×8×8の立方陣
4の整数倍で、2の冪乗でもあることから、比較的容易に作れる。

一辺の大きさが十分大きい素数nからなるn×n×n立方陣
nが素数であることから、大きさn×n×nのラテン方陣の立体版を容易につくることができる。
このラテン立方陣3個を組み合わせてn進数3桁からなる立方陣を作ることができる。　以下にその例を示す。

n>7　つまりn=11以上の素数で

例えば　x軸方向に+1、y軸方向に+2、z軸方向に+4ずつずらして数字を配置すると

L[x][y][z] ≡ x+2*y+4*z （mod n)　と置くと 3次元配列L[x][y][z]（0≦x,y,z＜n）では

x軸方向、y軸方向、z軸方向　および、対角線方向としてのx±y方向、y±z方向、z±x方向、立体的な対角方向　x±y±z方向の26方向いずれにおいても0からn-1までの数字が1列に並ぶ。なぜならば、 α、β、γに0または±1を代入したときα+2*β+4*γは全部が0でない限り±1から±7までのいずれかの値をとり素数nとは、素の関係になるからである。

ある(x,y,z)位置での値L[x][y][z]と,その隣接位置にあるL[x+α][y+β][z+γ]との差は0でなくnと素の値だけの増減となり、その(α,β,γ）方向にn個連続する範囲には、nの剰余系につき0からn-1まで数字がすべて並ぶこととなり、n個の数字の合計は、どの方向でも定和をとる立体のラテン方陣ができあがる。

これをn進数3桁の数字の組み合わせを考えた場合も同様で、次のように3次元配列を定義するとこれは立方陣となる。

 C[x][y][z] = n*n*MOD(x+2*y+4*z, n) + n*MOD( 2*x+4*y+z, n) + MOD( 4*x+y+2*z, n) +1 

ここで（0≦x,y,z＜n）、MOD(r,p)は剰余関数すなわちrをpで割った余りを示す。

同様に4軸目以上に +8、+16、....という具合に増分を与えるようにして4次元以上の　超立方体の魔方陣をつくることができる。

例えば、n＞15 つまり　n=17以上の素数において、4次元魔方陣は

 T[x][y][z][w] = 
 n*n*n*MOD(   x+2*y+4*z+8*w , n)
 + n*n*MOD( 2*x+4*y+8*z+  w , n)
 +   n*MOD( 4*x+8*y+  z+2*w , n)
 +     MOD( 8*x+  y+2*z+4*w , n)
 + 1

という具合に作ることができて、任意の次元での多次元魔方陣をつくることができる。

魔方陣
数学に関する記事