Вчера весь день изучала материалы по теме.
С большим интересом прочитала свою статью
"Построение наименьшего пандиагонального квадрата 6-го порядка из чисел Смита".
Из этой статьи:
Цитата:
Теперь пора рассказать об алгоритмах. Одним из самых удачных надо признать алгоритм, в котором соединены метод С. Беляева и общая формула пандиагонального квадрата 6-го порядка. Эта формула приведена в [3]. Она получена решением системы линейных уравнений, описывающей пандиагональный квадрат. Продублирую здесь схему, по которой была получена общая формула (рис. 4). В формуле 16 свободных (независимых) переменных (они выделены на рис. 4 красным цветом) и 20 зависимых переменных.
Общая формула пандиагонального квадрата 6-го порядка выложена в статье
"Нетрадиционные пандиагональные квадраты (часть I)".
Приведу её:
Код:
x1 = (-4a4 – 7a5 – 7a6 + 4a1 + 4a2 + 7a3 + 7a7 + 7a8 + 10a9)/3 + x20 + x21 – 2x22 – 2a10 – 2x23 – a11 –a12
x2 = (-a4 + 2a5 – a6 + a1 – 2a2 – 2a3 + a7 – 2a8 – 2a9)/3 – x20 + 2x22 + a10 + a12
x3 = (-a4 – a5 + 2a6 –2a1 + a2 – 2a3 – 2a7 + a8 – 2a9)/3 – x21 + a10 + 2x23 + a11
x4 = (-2a4 + a5 – 2a6 + 2a1 – a2 + 2a3 + 2a7 – a8 + 2a9 – x20 + x21 + x22 – x23 + a12 – x15
x5 = (a4 + 4a5 + 4a6 –4a1 – a2 – 4a3 – 4a7 – a8 – 7a9)/3 – x21 + a11 + x22 + a10 + 2x23 + x15
x6 = (-2a4 – 2a5 + a6 + 2a1 – a2 + 2a3 + 2a7 – a8 + 2a9)/3 +a12 –x15
x7 = (-2a4 – 5a5 – 2a6 + 2a1 + 5a2 + 2a3 – a7 + 5a8 + 2a9)/3 – x21 – x22 + x23 – a12 + x15
x8 = (a4 – 2a5 – 2a6 + 2a1 – a2 + 2a3 + 5a7 + 2a8 + 5a9)/3 + x20 + 2x21 – x22 – a10 – 2x23 – a11 – x15
x9 = (-2a4 – 2a5 – 5a6 + 2a1 + 5a2 + 2a3 + 2a7 + 2a8 + 2a9)/3 –x21 – a12 + x15
x10 = (-4a4 – 7a5 – 4a6 + 4a1 + 4a2 + 4a3 + 4a7 + 4a8 + 4a9)/3 – x22 – a11
x11 = (-4a4 – 4a5 – 7a6 + 4a1 + 4a2 + 4a3 + 4a7 + 4a8 + 4a9)/3 – x23 – a12
x12 = (-a4 + 2a5 + 2a6 –2a1 – 2a2 – 2a3 – 2a7 – 2a8 – 2a9)/3 + x22 + x23 + a11 + a12
x13 = -a1 + a2 – a7 + a8 + x20 – x21 – x22 + x23 + a11 – a12 + x15
x14 = a5 + a6 – a2 – a3– a8 + x21 + x22 + a12 – x15
x16 = -a4 – 2a5 – a6 + a1 + a2 + 2a3 + 2a7 + a8 + 2a9 + x21 – x22 – a10 – x23 – a11 – x15
x17 = a2 – a3 – 2x21 –a7 – x20 – 2a9 + a11 + x22 + 2a10 + 2x23 + x15
x18 = -a4 – a5 - 2a6 + 2a1 + 2a3 + 2a7 + a8 +2a9 + x21 – a10 – 2x23 – a11 – x15
x19 = -2a4 – 2a5 – 2a6 + 2a1 +2a2 + 2a3 + a7 + a8 + a9 – x21 – x20
x24 = 2(a1 + a2 + a3 – a4– a5 – a6 + a7 + a8 + a9) – x22 – a10 – x23 – a11 – a12
S = 2(a7 – a4 – a5 – a6 + a1 + a2 + a3 + a8 + a9)
(схема квадрата приведена в указанной статье; если надо, скопирую сюда)
Очень интересная формула! Есть о чём подумать.
Обратите внимание на последнюю строку:
Код:
S = 2(a7 – a4 – a5 – a6 + a1 + a2 + a3 + a8 + a9)
У меня сейчас рассматривается случай, когда магическая константа S задана, потому что задан массив, состоящий точно из 36 последовательных простых чисел, из которых собираюсь строить квадрат.
А раз так, то квадрат можно построить только в том случае, когда свободные переменные, присутствующие в формуле для магической константы S, дадут эту самую заданную нам константу (необходимое условие).
В формуле присутствуют 9 свободных переменных. Одну из них можно зафиксировать, остаётся всего 8 свободных переменных.
И вот вам
предпроверка: выполняем полный перебор 8 свободных переменных (из 35 чисел массива) и смотрим, есть ли хоть один благоприятный вариант (магическая константа S сложилась).
Очень мне стало любопытно: как много будет благоприятных вариантов
Хорошо, если это условие сильное и будет отсекать потенциальные массивы запросто.
В любом случае, предпроверка может что-то дать.
Сейчас напишу программу предпроверки, посмотрю.