마방진(魔方陣, 영어: magic square) 또는 방진(方陣)은 n2개의 수를 가로, 세로, 두 대각선 방향의 수를 더하면 모두 같은 값이 나오도록 n × n 행렬에 배열한 것이다. 마법진(魔法陣) 중 하나이다. 일반적인 마방진(pure/normal magic square)의 각 칸에는 1부터 n2까지의 수가 모두 들어간다.[1][2] 마방진은 n이 2일 때를 제외하고 항상 존재한다.[3]
역사
중국 하나라의 우 임금 시절 (약 4000년 전) 우왕은 매년 범람하는 황하의 물길을 정비할 때 이상한 그림이 새겨진 거북의 등 껍데기를 발견했다. 1부터 9까지의 숫자가 배열된 3차 마방진이었고, 가로, 세로, 대각선의 어느 방향으로 더해도 그 합(마방진 합)이 15였다. 이를 낙서라고 한다.[4][5]
마방진에서 가로줄, 세로줄, 그리고 두 대각선의 합은 같은데, 그 값을 마법 상수라고 한다. 1부터 n2까지의 수가 한 개씩 들어가는 '일반적인'(normal) 마방진에서 모든 수의 합은 1부터 n2까지의 자연수 합으로 삼각수이다. n개의 가로·세로줄이 있으니 마법 상수는 이를 n으로 나눈 것과 같다.[2]
단순 마방진(simple magic square)은 가로줄, 세로줄, 그리고 두 대각선의 합이 마법 상수로 같다. 일반적인 마방진(ordinary magic square) 또는 평범한 마방진(normal magic square)이라고도 불리고, 일반적으로 마방진은 단순 마방진을 말한다.
범마방진(汎魔方陣, pandiagonal magic square) 또는 범대각선 마방진(汎對角線 魔方陣)은 범대각선(깨진 대각선)의 합도 마법 상수로 같은 마방진을 말한다.
가장 완벽한 마방진(most-perfect magic squrare)은 두 조건을 만족하는 범마방진이다.
홀수 차수의 마방진을 만드는 방법은 프랑스 외교관 '시몬 드 라 루베르'(Simon de la Loubère)가 그의 저서 《시암 왕국의 역사적 관계(Du Royaume de Siam, 1693)》의 〈인도인들에 따른 마방진 문제(The problem of the magical square according to the Indians)〉에 나와 있다.[8] 그 방법은 다음과 같다.
첫 번째 행의 가운데 칸에 1을 넣는다. 그 다음 자연수를 대각선 방향으로 오른쪽 위 칸에 넣는 것을 모든 칸이 채워질 때까지 반복한다. 이때 해당하는 칸이 마방진의 위쪽으로 벗어난 경우에는 반대로 가장 아래쪽의 칸으로, 마방진의 오른쪽으로 벗어나는 경우는 가장 왼쪽의 칸으로 각자 한번 더 이동한다. 또 이때 칸을 채울 자리에 이미 숫자가 있다면 아래에 수를 넣는다.
1단계
1
2단계
1
2
3단계
1
3
2
4단계
1
3
4
2
5단계
1
3
5
4
2
6단계
1
6
3
5
4
2
7단계
1
6
3
5
7
4
2
8단계
8
1
6
3
5
7
4
2
9단계
8
1
6
3
5
7
4
9
2
맨 윗 줄에 가운데 칸이 아닌 칸에서 시작해도 가능하지만, 가로줄과 세로줄은 마법 상수으로 나오고 대각선의 합은 다르다. 따라서 준마방진(semimagic square)이 만들어지고, 진짜 마방진은 나올 수 없다. 또 대각선 오른쪽 위 방향이 아닌 방향으로 자연수를 계속 써도 마방진이 나올 수 있다.
Order 3
8
1
6
3
5
7
4
9
2
Order 5
17
24
1
8
15
23
5
7
14
16
4
6
13
20
22
10
12
19
21
3
11
18
25
2
9
Order 9
47
58
69
80
1
12
23
34
45
57
68
79
9
11
22
33
44
46
67
78
8
10
21
32
43
54
56
77
7
18
20
31
42
53
55
66
6
17
19
30
41
52
63
65
76
16
27
29
40
51
62
64
75
5
26
28
39
50
61
72
74
4
15
36
38
49
60
71
73
3
14
25
37
48
59
70
81
2
13
24
35
4차 마방진
위와 같이 4칸씩 나누어 흑색 칸과 백색 칸으로 칠한 뒤에, 힌 색 칸의 수들을 180도 뒤집어 옮기면 마방진이 된다.