И параллельно решаю задачу о магическом квадрате 4-го порядка из той же
головоломки #769.
Уже много раз принималась решать эту задачу - и никак. И каждый раз сначала начинаю
Ещё раз постановка задачи: требуется построить магический квадрат 4-го порядка из первых чисел 16 последовательных пар простых чисел-близнецов (между близнецами разрешается быть другим простым числам).
Кажется, не должно быть никаких проблем: от наборов не требуется симметричность. Единственное условие, которому должны удобвлетворять наборы: сумма всех чисел набора должна быть кратна 8.
Сейчас написала программку на PARI/GP:
Код:
checktuple(v) = {
my(S = v[1]+v[2]+v[3]+v[4]+v[5]+v[6]+v[7]+v[8]+v[9]+v[10]+v[11]+v[12]+v[13]+v[14]+v[15]+v[16]);
if(truncate(S/8) == S/8, print(S/4); return(1), return(0))
}
changetuple(v,p) = vector(16, i, if(i<16, v[i+1], p));
tuple = [3, 5, 11, 17, 29, 41, 59, 71, 101, 107, 137, 149, 179, 191, 197, 227];
forprime(p = nextprime(tuple[16]+1),10^4, if(ispseudoprime(p+2), tuple = changetuple(tuple,p); if(checktuple(tuple), print(tuple);)))
Здесь задан интервал до
, для проверки работы программы.
Вроде всё правильно: наборы выдаются правильные, потенциальная магическая константа тоже выдаётся перед каждым набором:
Код:
440
[5, 11, 17, 29, 41, 59, 71, 101, 107, 137, 149, 179, 191, 197, 227, 239]
506
[11, 17, 29, 41, 59, 71, 101, 107, 137, 149, 179, 191, 197, 227, 239, 269]
914
[71, 101, 107, 137, 149, 179, 191, 197, 227, 239, 269, 281, 311, 347, 419, 431]
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32138
[7487, 7547, 7559, 7589, 7757, 7877, 7949, 8009, 8087, 8219, 8231, 8291, 8387, 8429, 8537, 8597]
33962
[7949, 8009, 8087, 8219, 8231, 8291, 8387, 8429, 8537, 8597, 8627, 8819, 8837, 8861, 8969, 8999]
37088
[8837, 8861, 8969, 8999, 9011, 9041, 9239, 9281, 9341, 9419, 9431, 9437, 9461, 9629, 9677, 9719]
Если всё правильно, можно идти дальше. Потенциальных наборов находится много; программа проверки наборов на предмет построения магического квдарата 4-го порядка есть, работает она очень быстро.
И... никак квадрат не находится
Не хочет составляться и всё тут!
Каждый раз, как принималась за эту задачу, проверяла наборы в интервале в несколько миллиардов. Потом бросала, через некоторое время снова решала. А воз и ныне там
Вставить бы в программку на PARI/GP проверку построения квадрата из получаемых наборов...