Для 7-ки использую общую формулу, строю случайный пандиагональный квадрат из натуральных чисел с конкретной магической константой.
Может быть, лучше строить в качестве начального квадрата не квадрат из произвольных натуральных чисел, а квадрат из простых чисел (по алгоритму Россера - из примитивного квадрата) с несколькими не простыми числами (дырками)?
Как я помню, у меня данным методом квадраты даже с одной дыркой получались довольно быстро; пример тут был приведён с
. Если взять меньше
, то дырок можно разрешить две или даже три.
dimkadimon тоже приводил пример квадрата 7х7 - с двумя дырками и с довольно маленькой магической константой.
Решение для N=7 и S=735 с двумя дырками:
(73,47,151,61,103,23,277),
(173, ? ,239,43,3,269,67),
(163,101,149,157,17,59,89),
(53,131,29,181,233,71,37),
(271,97,19,41,79,223,5),
(197,167,11,139,107,83,31),
(? ,251,137,113,193,7,229)
Всё-таки, как мне кажется, преобразовывать квадрат всего с двумя-тремя не простыми числами легче, чем когда все числа в исходном квадрате не простые. Но это только моё интуитивное предположение.
Кстати, теоретический минимум для N=7 равен
733.