正の整数を4つの正の整数の平方和へ分解する

例えば, 99 という正の整数は

 {
\begin{eqnarray*}
  99 &=& 7^2 + 5^2 + 4^2 + 3^2 \\
  &=& 8^2 + 5^2 + 3^2 + 1^2 \\
  &=& 9^2 + 4^2 + 1^2 + 1^2
\end{eqnarray*}
}

というように4つの正の整数の平方和の形で3通りに書くことができます。

このように,正の整数  m に対し,

 {
  m = a^2 + b^2 + c^2 + d^2
}

が成り立つような正の整数の組  (a, b, c, d) のリストを, 1 \le m \le 200 の範囲で以下に列挙しました。ぜひご活用ください。

以下のリストはすべて降順  (a \ge b \ge c \ge d) で並べています。また, m = 1, 2, 3, 5, 6, 8, 9, 11, 14, 17, 24, 29, 32, 41, 56, 96, 128 の場合は4つの正の整数の平方和の形で書けないので飛ばしています。プログラムのミスによる抜け漏れ等あるかもしれませんがご了承ください。

リスト(4つの正の整数の平方和で表す)

[m] (a, b, c, d)
――――――――――
[4] (1, 1, 1, 1)
[7] (2, 1, 1, 1)
[10] (2, 2, 1, 1)
[12] (3, 1, 1, 1)
[13] (2, 2, 2, 1)
[15] (3, 2, 1, 1)
[16] (2, 2, 2, 2)
[18] (3, 2, 2, 1)
[19] (4, 1, 1, 1)
[20] (3, 3, 1, 1)
[21] (3, 2, 2, 2)
[22] (4, 2, 1, 1)
[23] (3, 3, 2, 1)
[25] (4, 2, 2, 1)
[26] (3, 3, 2, 2)
[27] (4, 3, 1, 1)
[28] (3, 3, 3, 1), (4, 2, 2, 2), (5, 1, 1, 1)
[30] (4, 3, 2, 1)
[31] (3, 3, 3, 2), (5, 2, 1, 1)
[33] (4, 3, 2, 2)
[34] (4, 4, 1, 1), (5, 2, 2, 1)
[35] (4, 3, 3, 1)
[36] (3, 3, 3, 3), (5, 3, 1, 1)
[37] (4, 4, 2, 1), (5, 2, 2, 2)
[38] (4, 3, 3, 2)
[39] (5, 3, 2, 1), (6, 1, 1, 1)
[40] (4, 4, 2, 2)
[42] (4, 4, 3, 1), (5, 3, 2, 2), (6, 2, 1, 1)
[43] (4, 3, 3, 3), (5, 4, 1, 1)
[44] (5, 3, 3, 1)
[45] (4, 4, 3, 2), (6, 2, 2, 1)
[46] (5, 4, 2, 1)
[47] (5, 3, 3, 2), (6, 3, 1, 1)
[48] (6, 2, 2, 2)
[49] (4, 4, 4, 1), (5, 4, 2, 2)
[50] (4, 4, 3, 3), (6, 3, 2, 1)
[51] (5, 4, 3, 1)
[52] (4, 4, 4, 2), (5, 3, 3, 3), (5, 5, 1, 1), (7, 1, 1, 1)
[53] (6, 3, 2, 2)
[54] (5, 4, 3, 2), (6, 4, 1, 1)
[55] (5, 5, 2, 1), (6, 3, 3, 1), (7, 2, 1, 1)
[57] (4, 4, 4, 3), (6, 4, 2, 1)
[58] (5, 4, 4, 1), (5, 5, 2, 2), (6, 3, 3, 2), (7, 2, 2, 1)
[59] (5, 4, 3, 3)
[60] (5, 5, 3, 1), (6, 4, 2, 2), (7, 3, 1, 1)
[61] (5, 4, 4, 2), (7, 2, 2, 2)
[62] (6, 4, 3, 1)
[63] (5, 5, 3, 2), (6, 3, 3, 3), (6, 5, 1, 1), (7, 3, 2, 1)
[64] (4, 4, 4, 4)
[65] (6, 4, 3, 2)
[66] (5, 4, 4, 3), (6, 5, 2, 1), (7, 3, 2, 2)
[67] (5, 5, 4, 1), (7, 4, 1, 1), (8, 1, 1, 1)
[68] (5, 5, 3, 3), (7, 3, 3, 1)
[69] (6, 4, 4, 1), (6, 5, 2, 2)
[70] (5, 5, 4, 2), (6, 4, 3, 3), (7, 4, 2, 1), (8, 2, 1, 1)
[71] (6, 5, 3, 1), (7, 3, 3, 2)
[72] (6, 4, 4, 2)
[73] (5, 4, 4, 4), (7, 4, 2, 2), (8, 2, 2, 1)
[74] (6, 5, 3, 2), (6, 6, 1, 1)
[75] (5, 5, 4, 3), (7, 4, 3, 1), (8, 3, 1, 1)
[76] (5, 5, 5, 1), (7, 3, 3, 3), (7, 5, 1, 1), (8, 2, 2, 2)
[77] (6, 4, 4, 3), (6, 6, 2, 1)
[78] (6, 5, 4, 1), (7, 4, 3, 2), (8, 3, 2, 1)
[79] (5, 5, 5, 2), (6, 5, 3, 3), (7, 5, 2, 1)
[80] (6, 6, 2, 2)
[81] (6, 5, 4, 2), (8, 3, 2, 2)
[82] (5, 5, 4, 4), (6, 6, 3, 1), (7, 4, 4, 1), (7, 5, 2, 2), (8, 4, 1, 1)
[83] (7, 4, 3, 3), (8, 3, 3, 1)
[84] (5, 5, 5, 3), (6, 4, 4, 4), (7, 5, 3, 1), (9, 1, 1, 1)
[85] (6, 6, 3, 2), (7, 4, 4, 2), (8, 4, 2, 1)
[86] (6, 5, 4, 3), (8, 3, 3, 2)
[87] (6, 5, 5, 1), (7, 5, 3, 2), (7, 6, 1, 1), (9, 2, 1, 1)
[88] (8, 4, 2, 2)
[89] (6, 6, 4, 1)
[90] (6, 5, 5, 2), (6, 6, 3, 3), (7, 4, 4, 3), (7, 6, 2, 1), (8, 4, 3, 1), (9, 2, 2, 1)
[91] (5, 5, 5, 4), (7, 5, 4, 1), (8, 3, 3, 3), (8, 5, 1, 1)
[92] (6, 6, 4, 2), (7, 5, 3, 3), (9, 3, 1, 1)
[93] (6, 5, 4, 4), (7, 6, 2, 2), (8, 4, 3, 2), (9, 2, 2, 2)
[94] (7, 5, 4, 2), (8, 5, 2, 1)
[95] (6, 5, 5, 3), (7, 6, 3, 1), (9, 3, 2, 1)
[97] (6, 6, 4, 3), (7, 4, 4, 4), (8, 4, 4, 1), (8, 5, 2, 2)
[98] (6, 6, 5, 1), (7, 6, 3, 2), (8, 4, 3, 3), (9, 3, 2, 2)
[99] (7, 5, 4, 3), (8, 5, 3, 1), (9, 4, 1, 1)
[100] (5, 5, 5, 5), (7, 5, 5, 1), (7, 7, 1, 1), (8, 4, 4, 2), (9, 3, 3, 1)
[101] (6, 6, 5, 2)
[102] (6, 5, 5, 4), (7, 6, 4, 1), (8, 5, 3, 2), (8, 6, 1, 1), (9, 4, 2, 1)
[103] (7, 5, 5, 2), (7, 6, 3, 3), (7, 7, 2, 1), (9, 3, 3, 2), (10, 1, 1, 1)
[104] (6, 6, 4, 4)
[105] (7, 6, 4, 2), (8, 4, 4, 3), (8, 6, 2, 1), (9, 4, 2, 2)
[106] (6, 6, 5, 3), (7, 5, 4, 4), (7, 7, 2, 2), (8, 5, 4, 1), (10, 2, 1, 1)
[107] (8, 5, 3, 3), (9, 4, 3, 1)
[108] (7, 5, 5, 3), (7, 7, 3, 1), (8, 6, 2, 2), (9, 3, 3, 3), (9, 5, 1, 1)
[109] (6, 6, 6, 1), (8, 5, 4, 2), (10, 2, 2, 1)
[110] (7, 6, 4, 3), (8, 6, 3, 1), (9, 4, 3, 2)
[111] (6, 5, 5, 5), (7, 6, 5, 1), (7, 7, 3, 2), (9, 5, 2, 1), (10, 3, 1, 1)
[112] (6, 6, 6, 2), (8, 4, 4, 4), (10, 2, 2, 2)
[113] (6, 6, 5, 4), (8, 6, 3, 2)
[114] (7, 6, 5, 2), (8, 5, 4, 3), (9, 4, 4, 1), (9, 5, 2, 2), (10, 3, 2, 1)
[115] (7, 5, 5, 4), (7, 7, 4, 1), (8, 5, 5, 1), (8, 7, 1, 1), (9, 4, 3, 3)
[116] (7, 7, 3, 3), (9, 5, 3, 1)
[117] (6, 6, 6, 3), (7, 6, 4, 4), (8, 6, 4, 1), (9, 4, 4, 2), (10, 3, 2, 2)
[118] (7, 7, 4, 2), (8, 5, 5, 2), (8, 6, 3, 3), (8, 7, 2, 1), (10, 4, 1, 1)
[119] (7, 6, 5, 3), (9, 5, 3, 2), (9, 6, 1, 1), (10, 3, 3, 1)
[120] (8, 6, 4, 2)
[121] (8, 5, 4, 4), (8, 7, 2, 2), (10, 4, 2, 1)
[122] (6, 6, 5, 5), (7, 6, 6, 1), (9, 4, 4, 3), (9, 6, 2, 1), (10, 3, 3, 2)
[123] (7, 7, 4, 3), (8, 5, 5, 3), (8, 7, 3, 1), (9, 5, 4, 1)
[124] (6, 6, 6, 4), (7, 5, 5, 5), (7, 7, 5, 1), (9, 5, 3, 3), (10, 4, 2, 2), (11, 1, 1, 1)
[125] (7, 6, 6, 2), (8, 6, 4, 3), (9, 6, 2, 2)
[126] (7, 6, 5, 4), (8, 6, 5, 1), (8, 7, 3, 2), (9, 5, 4, 2), (10, 4, 3, 1)
[127] (7, 7, 5, 2), (9, 6, 3, 1), (10, 3, 3, 3), (10, 5, 1, 1), (11, 2, 1, 1)
[129] (8, 6, 5, 2), (9, 4, 4, 4), (10, 4, 3, 2)
[130] (7, 6, 6, 3), (7, 7, 4, 4), (8, 5, 5, 4), (8, 7, 4, 1), (8, 8, 1, 1), (9, 6, 3, 2), (10, 5, 2, 1), (11, 2, 2, 1)
[131] (8, 7, 3, 3), (9, 5, 4, 3)
[132] (7, 7, 5, 3), (8, 6, 4, 4), (9, 5, 5, 1), (9, 7, 1, 1), (11, 3, 1, 1)
[133] (6, 6, 6, 5), (8, 7, 4, 2), (8, 8, 2, 1), (10, 4, 4, 1), (10, 5, 2, 2), (11, 2, 2, 2)
[134] (8, 6, 5, 3), (9, 6, 4, 1), (10, 4, 3, 3)
[135] (7, 6, 5, 5), (7, 7, 6, 1), (9, 5, 5, 2), (9, 6, 3, 3), (9, 7, 2, 1), (10, 5, 3, 1), (11, 3, 2, 1)
[136] (8, 8, 2, 2), (10, 4, 4, 2)
[137] (7, 6, 6, 4), (8, 6, 6, 1), (9, 6, 4, 2)
[138] (7, 7, 6, 2), (8, 7, 4, 3), (8, 8, 3, 1), (9, 5, 4, 4), (9, 7, 2, 2), (10, 5, 3, 2), (10, 6, 1, 1), (11, 3, 2, 2)
[139] (7, 7, 5, 4), (8, 5, 5, 5), (8, 7, 5, 1), (11, 4, 1, 1)
[140] (8, 6, 6, 2), (9, 5, 5, 3), (9, 7, 3, 1), (11, 3, 3, 1)
[141] (8, 6, 5, 4), (8, 8, 3, 2), (10, 4, 4, 3), (10, 6, 2, 1)
[142] (8, 7, 5, 2), (9, 6, 4, 3), (10, 5, 4, 1), (11, 4, 2, 1)
[143] (7, 7, 6, 3), (9, 6, 5, 1), (9, 7, 3, 2), (10, 5, 3, 3), (11, 3, 3, 2)
[144] (6, 6, 6, 6), (10, 6, 2, 2)
[145] (8, 6, 6, 3), (8, 7, 4, 4), (8, 8, 4, 1), (10, 5, 4, 2), (11, 4, 2, 2)
[146] (7, 6, 6, 5), (8, 8, 3, 3), (9, 6, 5, 2), (10, 6, 3, 1)
[147] (8, 7, 5, 3), (9, 5, 5, 4), (9, 7, 4, 1), (9, 8, 1, 1), (11, 4, 3, 1), (12, 1, 1, 1)
[148] (7, 7, 5, 5), (7, 7, 7, 1), (8, 8, 4, 2), (9, 7, 3, 3), (10, 4, 4, 4), (11, 3, 3, 3), (11, 5, 1, 1)
[149] (9, 6, 4, 4), (10, 6, 3, 2)
[150] (7, 7, 6, 4), (8, 6, 5, 5), (8, 7, 6, 1), (9, 7, 4, 2), (9, 8, 2, 1), (10, 5, 4, 3), (11, 4, 3, 2), (12, 2, 1, 1)
[151] (7, 7, 7, 2), (9, 6, 5, 3), (10, 5, 5, 1), (10, 7, 1, 1), (11, 5, 2, 1)
[152] (8, 6, 6, 4)
[153] (8, 7, 6, 2), (8, 8, 4, 3), (9, 8, 2, 2), (10, 6, 4, 1), (12, 2, 2, 1)
[154] (8, 7, 5, 4), (8, 8, 5, 1), (9, 6, 6, 1), (10, 5, 5, 2), (10, 6, 3, 3), (10, 7, 2, 1), (11, 4, 4, 1), (11, 5, 2, 2)
[155] (9, 7, 4, 3), (9, 8, 3, 1), (11, 4, 3, 3), (12, 3, 1, 1)
[156] (7, 7, 7, 3), (9, 5, 5, 5), (9, 7, 5, 1), (10, 6, 4, 2), (11, 5, 3, 1), (12, 2, 2, 2)
[157] (7, 6, 6, 6), (8, 8, 5, 2), (9, 6, 6, 2), (10, 5, 4, 4), (10, 7, 2, 2), (11, 4, 4, 2)
[158] (8, 7, 6, 3), (9, 6, 5, 4), (9, 8, 3, 2), (12, 3, 2, 1)
[159] (7, 7, 6, 5), (9, 7, 5, 2), (10, 5, 5, 3), (10, 7, 3, 1), (11, 5, 3, 2), (11, 6, 1, 1)
[160] (8, 8, 4, 4)
[161] (8, 6, 6, 5), (10, 6, 4, 3), (12, 3, 2, 2)
[162] (8, 8, 5, 3), (9, 6, 6, 3), (9, 7, 4, 4), (9, 8, 4, 1), (10, 6, 5, 1), (10, 7, 3, 2), (11, 4, 4, 3), (11, 6, 2, 1), (12, 4, 1, 1)
[163] (7, 7, 7, 4), (8, 7, 5, 5), (8, 7, 7, 1), (9, 8, 3, 3), (11, 5, 4, 1), (12, 3, 3, 1)
[164] (9, 7, 5, 3), (9, 9, 1, 1), (11, 5, 3, 3)
[165] (8, 7, 6, 4), (8, 8, 6, 1), (9, 8, 4, 2), (10, 6, 5, 2), (11, 6, 2, 2), (12, 4, 2, 1)
[166] (8, 7, 7, 2), (10, 5, 5, 4), (10, 7, 4, 1), (10, 8, 1, 1), (11, 5, 4, 2), (12, 3, 3, 2)
[167] (9, 6, 5, 5), (9, 7, 6, 1), (9, 9, 2, 1), (10, 7, 3, 3), (11, 6, 3, 1)
[168] (8, 8, 6, 2), (10, 6, 4, 4), (12, 4, 2, 2)
[169] (8, 8, 5, 4), (9, 6, 6, 4), (10, 7, 4, 2), (10, 8, 2, 1), (11, 4, 4, 4)
[170] (7, 7, 6, 6), (9, 7, 6, 2), (9, 8, 4, 3), (9, 9, 2, 2), (10, 6, 5, 3), (11, 6, 3, 2), (12, 4, 3, 1)
[171] (8, 7, 7, 3), (9, 7, 5, 4), (9, 8, 5, 1), (11, 5, 4, 3), (12, 3, 3, 3), (12, 5, 1, 1)
[172] (7, 7, 7, 5), (8, 6, 6, 6), (9, 9, 3, 1), (10, 8, 2, 2), (11, 5, 5, 1), (11, 7, 1, 1), (13, 1, 1, 1)
[173] (8, 8, 6, 3), (10, 6, 6, 1), (12, 4, 3, 2)
[174] (8, 7, 6, 5), (9, 8, 5, 2), (10, 7, 4, 3), (10, 8, 3, 1), (11, 6, 4, 1), (12, 5, 2, 1)
[175] (9, 7, 6, 3), (9, 9, 3, 2), (10, 5, 5, 5), (10, 7, 5, 1), (11, 5, 5, 2), (11, 6, 3, 3), (11, 7, 2, 1), (13, 2, 1, 1)
[176] (10, 6, 6, 2)
[177] (9, 8, 4, 4), (10, 6, 5, 4), (10, 8, 3, 2), (11, 6, 4, 2), (12, 4, 4, 1), (12, 5, 2, 2)
[178] (8, 7, 7, 4), (8, 8, 5, 5), (8, 8, 7, 1), (9, 6, 6, 5), (10, 7, 5, 2), (11, 5, 4, 4), (11, 7, 2, 2), (12, 4, 3, 3), (13, 2, 2, 1)
[179] (9, 8, 5, 3), (9, 9, 4, 1), (12, 5, 3, 1)
[180] (8, 8, 6, 4), (9, 7, 5, 5), (9, 7, 7, 1), (9, 9, 3, 3), (11, 5, 5, 3), (11, 7, 3, 1), (12, 4, 4, 2), (13, 3, 1, 1)
[181] (8, 8, 7, 2), (10, 6, 6, 3), (10, 7, 4, 4), (10, 8, 4, 1), (13, 2, 2, 2)
[182] (9, 7, 6, 4), (9, 8, 6, 1), (9, 9, 4, 2), (10, 8, 3, 3), (11, 6, 4, 3), (12, 5, 3, 2), (12, 6, 1, 1)
[183] (7, 7, 7, 6), (9, 7, 7, 2), (10, 7, 5, 3), (10, 9, 1, 1), (11, 6, 5, 1), (11, 7, 3, 2), (13, 3, 2, 1)
[184] (10, 8, 4, 2)
[185] (8, 7, 6, 6), (9, 8, 6, 2), (12, 4, 4, 3), (12, 6, 2, 1)
[186] (8, 8, 7, 3), (9, 8, 5, 4), (10, 6, 5, 5), (10, 7, 6, 1), (10, 9, 2, 1), (11, 6, 5, 2), (12, 5, 4, 1), (13, 3, 2, 2)
[187] (8, 7, 7, 5), (9, 9, 4, 3), (11, 5, 5, 4), (11, 7, 4, 1), (11, 8, 1, 1), (12, 5, 3, 3), (13, 4, 1, 1)
[188] (9, 7, 7, 3), (9, 9, 5, 1), (10, 6, 6, 4), (11, 7, 3, 3), (12, 6, 2, 2), (13, 3, 3, 1)
[189] (8, 8, 6, 5), (9, 6, 6, 6), (10, 7, 6, 2), (10, 8, 4, 3), (10, 9, 2, 2), (11, 6, 4, 4), (12, 5, 4, 2)
[190] (9, 8, 6, 3), (10, 7, 5, 4), (10, 8, 5, 1), (11, 7, 4, 2), (11, 8, 2, 1), (12, 6, 3, 1), (13, 4, 2, 1)
[191] (9, 7, 6, 5), (9, 9, 5, 2), (10, 9, 3, 1), (11, 6, 5, 3), (13, 3, 3, 2)
[192] (12, 4, 4, 4)
[193] (8, 8, 7, 4), (8, 8, 8, 1), (10, 8, 5, 2), (11, 8, 2, 2), (12, 6, 3, 2), (13, 4, 2, 2)
[194] (9, 9, 4, 4), (10, 7, 6, 3), (10, 9, 3, 2), (11, 6, 6, 1), (12, 5, 4, 3)
[195] (9, 7, 7, 4), (9, 8, 5, 5), (9, 8, 7, 1), (11, 7, 4, 3), (11, 8, 3, 1), (12, 5, 5, 1), (12, 7, 1, 1), (13, 4, 3, 1)
[196] (7, 7, 7, 7), (8, 8, 8, 2), (9, 9, 5, 3), (10, 8, 4, 4), (11, 5, 5, 5), (11, 7, 5, 1), (13, 3, 3, 3), (13, 5, 1, 1)
[197] (9, 8, 6, 4), (10, 6, 6, 5), (11, 6, 6, 2), (12, 6, 4, 1)
[198] (8, 7, 7, 6), (9, 8, 7, 2), (10, 8, 5, 3), (10, 9, 4, 1), (11, 6, 5, 4), (11, 8, 3, 2), (12, 5, 5, 2), (12, 6, 3, 3), (12, 7, 2, 1), (13, 4, 3, 2)
[199] (9, 9, 6, 1), (10, 7, 5, 5), (10, 7, 7, 1), (10, 9, 3, 3), (11, 7, 5, 2), (13, 5, 2, 1), (14, 1, 1, 1)
[200] (8, 8, 6, 6), (12, 6, 4, 2)


以上です。
余談ですが,4つの正の整数の平方和の形で書けない正の整数は,冒頭で挙げたものの他にも  m = 224, 384, 512, 896, 1536, 2048, 3584, 6144, 8192 などがあります( m \le 10000 までで検証)。

使いどころ

例えば, | x |^2 + | y |^2 = 53 を満たすような2つの複素数  x,\ y を作りたいとき, 53 = 6^2 + 3^2 + 2^2 + 2^2 であることを利用すると

 {
  \left\{
    \begin{array}{l}
      x = 6+3 i,  \\
      y = 2+2 i
    \end{array}
  \right. \hspace{20px} (i\ \text{は虚数単位})
}

などとすればよいことが分かります。