*=(a[i,j])を求める。
[Cプログラムによる計算]
-bash-3.1$ gcc -O2 msq5.c -lm -o msq5
-bash-3.1$ ./msq5 -h
Usage: msq5 n
n : max{a[1,1],a[1,3],a[1,5],a[2,1],a[2,5],a[3,1],a[3,2],a[3,4],a[3,5],a[4,1],a[4,5],a[5,2],a[5,4]}<=n
-s max{a[*,*]}<=n
-L L1 [L2] L1<=a[1,1]^2+a[2,2]^2+a[4,4]^2+a[5,5]^2<=L2
-LL LL1 [LL2] LL1<=a[1,1]^2+a[2,2]^2+a[3,3]^2+a[4,4]^2+a[5,5]^2<=LL2
-p a[i,j] are all primes
-r1 L output v[16] where v[h+1]^2+v[h+2]^2+v[h+3]^2+v[h+4]^2=L(h=0,4,8,12)
-r2 v1 v2 ... b16 output w[16] where w is permutaion of w and F1(w)=F2(w)=0,F3(w) !=2,F4(w) !=2
-r3 v1 v2 ... v16 output a[25] where a is extension of v[16]
-r4 L a33 output a[25] where a[1,1]^2+a[2,2]^2+a[4,4]^2+a[5,5]^2=L,a[3,3]=a33
-d include non-primitive solution
-h help
where 25<=n<=100000.
-bash-3.1$ time ./msq5 50 -s -L 1270 1300
L=[1270,1300]
#{i:r[i]==0, 1<=n<=200000}=200000
L=[1270,1300]
L=1270
[L,c2]=[1270,2662]
L=1271
[L,c2]=[1271,14]
L=1272
[L,c2]=[1272,0]
L=1273
[L,c2]=[1273,2]
L=1274
[L,c2]=[1274,1241]
L=1275
[1,22,11,12,25, 2,16,23,15,19, 31,13,10,9,8, 3,5,24,27,6, 20,21,7,14,17]
[1,12,11,22,25, 3,27,24,5,6, 31,9,10,13,8, 2,15,23,16,19, 20,14,7,21,17]
[L,c2]=[1275,486]
L=1276
[L,c2]=[1276,66]
L=1277
[L,c2]=[1277,2]
L=1278
[L,c2]=[1278,9578]
L=1279
[L,c2]=[1279,10]
L=1280
[L,c2]=[1280,0]
L=1281
[L,c2]=[1281,250]
L=1282
[L,c2]=[1282,830]
L=1283
[L,c2]=[1283,3]
L=1284
[L,c2]=[1284,35]
L=1285
[L,c2]=[1285,103]
L=1286
[L,c2]=[1286,590]
L=1287
[L,c2]=[1287,252]
L=1288
[L,c2]=[1288,0]
L=1289
[L,c2]=[1289,4]
L=1290
[L,c2]=[1290,10905]
L=1291
[L,c2]=[1291,3]
L=1292
[L,c2]=[1292,29]
L=1293
[L,c2]=[1293,71]
L=1294
[L,c2]=[1294,1721]
L=1295
[L,c2]=[1295,118]
L=1296
[L,c2]=[1296,0]
L=1297
[L,c2]=[1297,37]
L=1298
[L,c2]=[1298,492]
L=1299
[L,c2]=[1299,104]
L=1300
[L,c2]=[1300,54]
real 9m53.677s
user 9m53.635s
sys 0m0.010s
-bash-3.1$
このように、上で紹介した(L=1375である)平方魔法陣が2個見つかった。
■max{a[i,j]} <= 100かつL4<=10000のの範囲で、A=(a[i,j]^2)が上記の条件(*),(**)を満たす5x5平方魔法陣となるような正整数行列B=(a[i,j])を求めて(計算中)、Lの小さい順に並び替えると、このようになる。
5x5平方数魔法陣で、Lが2番目に小さいのは、L=2479(L4=2283)のもの(4個)で、以下のようになる。
■max{a[i,j]} <= 1000かつL4<=10000の範囲で、5x5平方数魔法陣A=(a[i,j]^2)となるような相異なる素数の行列A*=(a[i,j])を求めて(計算中)、Lの小さい順に並び替えると、このようになる。
素数の平方数から成る5x5平方数魔法陣で、Lが最も小さいのは、L=34229(L4=32020)のもの(2個)で、以下のようになる。
[参考文献]
Last Update: 2024.07.04 |
H.Nakao |