Н. Макарова

 

 

ПОСТРОЕНИЕ НАИМЕНЬШЕГО ПАНДИАГОНАЛЬНОГО КВАДРАТА 6-го ПОРЯДКА ИЗ ЧИСЕЛ СМИТА

 

 

Начинаю писать статью о задаче построения наименьшего пандиагонального квадрата 6-го порядка из чисел Смита. Давно собираюсь написать эту статью, но никак не могу оторваться от экспериментов. Это задача очень сложная. Её решают уже довольно долго. На форуме dxdy.ru задачу решали мои коллеги М. Алексеев, С. Беляев, В. Павловский. Задача предлагалась в проводимом мной на этом форуме конкурсе «Нетрадиционные пандиагональные квадраты» (см. [6]). И до сих пор задача не решена, по моим сведениям. Возможно, кто-то и решил задачу, но сообщения на форуме об этом не было. Поэтому я продолжаю решать задачу. Написано уже несколько программ, рассмотрены разные алгоритмы и комбинации алгоритмов, однако решения не получено.

 

Напомню, что С. Беляев разработал очень хороший алгоритм построения нетрадиционных пандиагональных квадратов 6-го порядка. (Как известно, классических пандиагональных квадратов данного порядка не существует.) С помощью этого алгоритма ему удалось найти наименьший пандиагональный квадрат 6-го порядка из простых чисел с магической константой 486. Это замечательный результат! Он внесён в OEIS, в статье A179440 приведены три магические константы наименьших пандиагональных квадратов из простых чисел для порядков 4 – 6, эти константы таковы: 240, 395, 486 соответственно (см. [5]).

Квадрат порядка 4 найден мной, квадрат порядка 5 нашёл В. Павловский, и квадрат 6-го порядка найден С. Беляевым. Вот такая великолепная троица магических констант. Для всех следующих порядков (до 13 включительно) пандиагональные квадраты из простых чисел построены, но не доказана их минимальность. Поэтому в статье приведены верхние границы для магических констант пандиагональных квадратов следующих порядков.

 

Из чисел Смита найдены наименьшие пандиагональные квадраты порядков 4 и 5. А вот наименьший квадрат 6-го порядка пока не найден.

 

По программе С. Беляева мне удалось построить несколько пандиагональных квадратов из смитов, самая меньшая магическая константа из всех полученных 5964. Покажу этот квадрат (рис. 1):

 

22

2902

94

1633

202

1111

265

634

562

391

1894

2218

1642

1219

1678

985

319

121

355

526

913

1966

346

1858

2785

166

922

535

1282

274

895

517

1795

454

1921

382

 

Рис. 1

 

Наименьший обычный магический квадрат 6-го порядка из чисел Смита имеет магическую константу 2472. Вполне возможно, что существует пандиагональный квадрат с магической константой меньше 5964. Однако найти его не удаётся. А как иначе доказать, что найденный квадрат с магической константой 5964 является наименьшим?

 

Не буду здесь повторять изложение алгоритма С. Беляева. Его можно найти на форуме dxdy.ru ([1], стр. 131), а также в моей статье [2]. С. Беляев реализовал свой алгоритм, программа выложена на форуме и на его сайте [4]. Я пользуюсь этой программой, хотя тоже написала программу, реализующую этот алгоритм. Но моя программа работает медленнее, чем программа Беляева. Поэтому, когда у меня есть готовый набор комплектов отклонений, я пользуюсь его программой. А вот комплекты отклонений ищу по своей программе. Как они ищутся, расскажу далее.

 

Приведу два интересных примера.

 

Пример 1. Это найденный мной самым первым (не считая давно известного пандиагонального квадрата из последовательных простых чисел с магической константой 930) пандиагональный квадрат из простых чисел, который получен из ассоциативного квадрата применением преобразования 3-х квадратов. Понятно, что этот квадрат построен из комплементарных пар чисел, причём так, что все отклонения равны 0. На рис. 2 представлен этот квадрат (см. [3]).

 

11

197

17

167

47

191

181

31

173

61

131

53

139

59

137

103

109

83

43

163

19

199

13

193

149

79

157

29

179

37

107

101

127

71

151

73

 

Рис. 2

 

Вот набор из 19 комплементарных пар простых чисел с суммой в паре 210, из чисел которого построен этот квадрат:

 

11 13 17 19 29 31 37 43 47 53 59 61 71 73 79 83 97 101 103 199 197 193 191 181 179 173 167 163 157 151 149 139 137 131 127 113 109 107

 

Сумма чисел в комплементарной паре называется константой комплементарности. Если квадрат ассоциативный, то константа комплементарности является константой ассоциативности.

Очевидно, что для квадрата 6-го порядка константа комплементарности K = S/3, S – магическая константа квадрата.

В следующем примере показан пандиагональный квадрат, который обладает свойством ассоциативности, то есть является идеальным.

 

Пример 2. Это наименьший идеальный квадрат 6-го порядка из чисел Смита (рис. 3). Автор квадрата М. Алексеев (см. [1], стр. 107).

 

7195

4306

17149

23566

2362

23962

22738

9094

24538

9634

4702

7834

23089

166

9535

18022

6502

21226

4954

19678

8158

16645

26014

3091

18346

21478

16546

1642

17086

3442

2218

23818

2614

9031

21874

18985

 

Рис. 3

 

Этот квадрат построен из следующего набора из 68 комплементарных пар смитов с суммой в паре 26180:

 

166  274  346  382  562  913  958  985  1165  1642  1678  1858  1921  1966  2038  2218  2227  2326  2362  2515  2578  2614  3091  3442  3595  3622  3946  4126  4306  4414  4702  4918  4954  5269  5485  5602  5638  5674  5818  5854  5998  6115  6502  6934  7186  7195  7339  7438  7726  7762  7784  7834  8095  8158  8347  8518  8545  9031  9094  9535  9598  9634  9742  9895  10296  10664  11065  11686  14494  15115  15516  15884  16285  16438  16546  16582  16645  17086  17149  17635  17662  17833  18022  18085  18346  18396  18418  18454  18742  18841  18985  18994  19246  19678  20065  20182  20326  20362  20506  20542  20578  20695  20911  21226  21262  21478  21766  21874  22054  22234  22558  22585  22738  23089  23566  23602  23665  23818  23854  23953  23962  24142  24214  24259  24322  24502  24538  25015  25195  25222  25267  25618  25798  25834  25906  26014

 

Магическая константа квадрата равна 78540.

 

Хотя этот пандиагональный квадрат построен из комплементарных пар чисел, но отклонения от комплементарности в нём не равны 0 (кроме одного).

 

В самом деле, имеем:

 

K = 26180

p1 = 7195 + 16645 – 26180 = -2340

p2 = 4306 + 26014 – 26180 = 4140

p3 = 17149 + 3091 – 26180 = -5940

p4 = 22738 + 1642 – 26180 = -1800

p5 = 9094 + 17086 – 26180 = 0

p6 = 24538 + 3442 – 26180 = 1800

p7 = 23089 + 9031 – 26180 = 5940

p8 = 166 + 21874 – 26180 = -4140

p9 = 9535 + 18985 – 26180 = 2340

 

*****

 

В связи с этой задачей возникли две интересные гипотезы, которые не доказаны. Приведу эти гипотезы.

 

Гипотеза № 1. Магические константы пандиагональных квадратов 6-го порядка из чисел Смита являются членами арифметической прогрессии с разностью 108.

 

Эта гипотеза возникла из экспериментальных данных. Все найденные мной по программе Беляева пандиагональные квадраты являются членами такой арифметической прогрессии. Заодно покажу здесь и все эти пандиагональные квадраты. Квадрат с магической константой 5964 уже показан выше (см. рис. 1).

 

517 85 913 958 1633 2182

922 58 2326 1921 355 706

1894 1822 319 166 121 1966

202 1255 562 2515 1219 535

895 1165 526 454 2614 634

1858 1903 1642 274 346 265

 1: S=6288 p2,4,6,8=-792 -720 864 72

 

1111 391 166 895 1903 1822

1255 2578 634 202 1165 454

526 1633 562 1507 1678 382

265 985 922 1921 913 1282

2614 355 778 121 94 2326

517 346 3226 1642 535 22

 2: S=6288 p2,4,6,8=-792 -720 864 72

 

913 1219 1903 1921 346 94

1966 121 535 634 1858 1282

1678 526 517 1642 778 1255

319 2434 2182 1111 265 85

958 58 274 706 2227 2173

562 2038 985 382 922 1507

 1: S=6396 p2,4,6,8=-648 540 576 -684

 

1255 265 166 526 2614 1678

319 1219 1966 2461 85 454

778 2434 382 517 355 2038

922 562 274 1633 895 2218

391 1111 1894 1165 1921 22

2839 913 1822 202 634 94

 1: S=6504 p2,4,6,8=-1008 -684 -180 900

 

391 166 778 2974 2218 85

1219 2326 913 22 94 2038

121 1678 562 1255 382 2614

 58 202 2911 985 1822 634

2902 346 922 265 1642 535

1921 1894 526 1111 454 706

 1: S=6612 p2,4,6,8=-216 -720 -756 -72

 

535 526 1966 355 1165 2173

 58 2155 265 562 2038 1642

2362 1255 922 1822 85 274

985 1111 319 2605 1678 22

2578 166 346 1282 121 2227

202 1507 2902 94 1633 382

 1: S=6720 p2,4,6,8=-36 -900 252 648

 

562 2038 1642 58 2155 265

355 1165 2173 535 526 1966

 94 1633 382 202 1507 2902

1282 121 2227 2578 166 346

2605 1678 22 985 1111 319

1822 85 274 2362 1255 922

 2: S=6720 p2,4,6,8=-36 -900 252 648

 

454 1111 2326 2038 517 274

895 1966 346 382 85 3046

265 535 1822 526 1678 1894

706 1219 1858 1282 1633 22

2218 1795 166 985 634 922

2182 94 202 1507 2173 562

 1: S=6720 p2,4,6,8=504 -360 -972 468

 

517 2038 2326 1111 454 274

 85 382 346 1966 895 3046

1678 526 1822 535 265 1894

1633 1282 1858 1219 706 22

634 985 166 1795 2218 922

2173 1507 202 94 2182 562

 2: S=6720 p2,4,6,8=504 -360 -972 468

 

1165 382 1642 958 355 2218

391 2227 202 1678 1903 319

1966 1111 922 22 2182 517

562 2461 454 1795 1282 166

778 265 985 1633 85 2974

1858 274 2515 634 913 526

 1: S=6720 p2,4,6,8=-576 -216 936 -216

 

 22 1633 2362 391 346 1966

202 1795 265 2038 1642 778

1903 319 1507 634 535 1822

2173 1282 94 1894 1219 58

562 526 2326 1678 517 1111

1858 1165 166 85 2461 985

 1: S=6720 p2,4,6,8=612 -360 -864 540

 

 22 1633 2362 391 517 1795

202 1966 94 2038 1642 778

1903 319 1507 634 535 1822

2173 1111 265 1894 1219 58

562 526 2326 1678 346 1282

1858 1165 166 85 2461 985

 2: S=6720 p2,4,6,8=612 -360 -864 540

 

895 1678 2785 1111 274 517

265 94 922 1282 1858 2839

1642 2182 391 985 2038 22

1921 2326 1219 913 562 319

382 526 121 2911 2362 958

2155 454 1822 58 166 2605

 1: S=7260 p2,4,6,8=-180 756 -540 -72

 

 94 2785 1903 1858 1165 535

2434 265 958 1795 166 2722

1507 202 2362 382 1921 1966

1282 1255 2605 2326 355 517

985 2614 58 346 2515 1822

2038 1219 454 1633 2218 778

 1: S=8340 p2,4,6,8=360 0 0 -360

 

 94 2785 1903 1858 1165 535

985 2614 58 346 2515 1822

1507 202 2362 382 1921 1966

1282 1255 2605 2326 355 517

2434 265 958 1795 166 2722

2038 1219 454 1633 2218 778

 2: S=8340 p2,4,6,8=360 0 0 -360

 

 94 2785 1894 958 1903 706

2614 2218 202 319 2722 265

535 1255 913 1966 1633 2038

2182 517 2434 2326 355 526

2461 58 2515 166 562 2578

454 1507 382 2605 1165 2227

 3: S=8340 p2,4,6,8=360 0 0 -360

 

 94 2785 1894 958 1903 706

2461 58 2515 166 562 2578

535 1255 913 1966 1633 2038

2182 517 2434 2326 355 526

2614 2218 202 319 2722 265

454 1507 382 2605 1165 2227

 4: S=8340 p2,4,6,8=360 0 0 -360

 

Примечание: программа Беляева выводит после каждого квадрата его магическую константу и набор базовых отклонений p2, p4, p6, p8. Базовые отклонения – это четыре независимых отклонения, по которым вычисляются остальные пять отклонений.

 

Итак, ряд полученных магических констант:

 

5964, 6288, 6396, 6504, 6612, 6720, 7260, 8340

 

Заметим, что и магическая константа наименьшего идеального квадрата (см. рис. 3) 78540 тоже находится в этой арифметической прогрессии.

 

Таковы экспериментальные данные. Насколько они подтверждают верность высказанной гипотезы, трудно сказать. Надо либо доказать гипотезу теоретически, либо найти опровергающий её пример.

 

И ещё один пример в подтверждение гипотезы. На рис. 3а вы видите пандиагональный квадрат, полученный преобразованием 3-х квадратов из наименьшего ассоциативного квадрата из смитов (автор квадрата М. Алексеев, см. [1], стр. 109).

 

2722

2326

1255

4054

958

2965

2182

391

2902

634

4306

3865

4198

2605

2839

4414

58

166

706

3802

1795

2038

2434

3505

4126

454

895

2578

4369

1858

346

4702

4594

562

2155

1921

 

Рис. 3а

 

Магическая константа равна 14280. Очевидно, что она из той же самой арифметической прогрессии.

 

Кстати, интересно отметить, что магические константы пандиагональных квадратов 6-го порядка из простых чисел являются членами арифметической прогрессии с разностью 12:

 

486, 498, 510, 522, 534, 546, 558, 570, 582, 594, …

 

Гипотеза № 2. Пандиагональные квадраты 6-го порядка можно составить только из чисел Смита равных 4(mod 9).

 

Эта гипотеза тоже возникла из экспериментальных данных. Все известные пандиагональные квадраты из чисел Смита составлены только из чисел равных 4(mod 9).

Мне удалось доказать, что в рассматриваемом нами диапазоне магических констант пандиагональный квадрат не может быть составлен из других одинаковых вычетов 0, 1, 2, 3, 5, 6, 7, 8 по модулю 9.

 

Приведу это доказательство.

 

Смиты, равные 0(mod 9) (из первых 400 смитов получены):

 

27 378 576 648 666 729 1449 1755 1872 1881 1908 1935 1962 2079 2286 2475 2484 2556 2583 2745 2934 2970 3168 3258 3294 3366 3564 3663 3690 3852 4185 4428 4464 4743 4788 4959 5526 6084 7119 7227 7695 8073 8154 8253 8307 8568 8766 8874 8883 8901 9036 9387 9396 9414 9522 9639 9648 9657 9684 10296 10494 10791 10845

 

Сумма первых 36 чисел равна 94320, что может дать минимальную магическую константу 15720.

 

Это смиты, равные 1(mod 9), получены из первых 700 смитов:

 

2944 4960 5248 6760 14464 15778 16192 16480 17056 18496 18865 19360

 

Тут всё ясно, если найти 36 таких смитов, их сумма будет очень большая.

 

Это смиты, равные 2(mod 9), тоже из 700 первых смитов получены:

 

2576 4592 4880 5915 8372 12656 14168 14672 14924 15824 15860 16688 16940 17840 17885 18920 19280

 

Всего 17 штук. Тоже всё ясно.

 

Далее смиты, равные 3(mod 9), из тех же 700 первых смитов:

 

588 1776 2964 3864 4557 5088 5772 6096 6816 7068 7824 9633 9840 9849 9975 11388 11739 12558 12648 12675 12684 13764 14736 16536 16653 16770 17238 17940 18732 19272 19812 20784

 

32 штуки, тоже все большие числа получились.

 

Смиты, равные 5(mod 9), тоже из 700 первых смитов, всего 9 штук:

 

5936 6188 7952 9968 11696 11984 14756 16592 19292

 

Тоже всё ясно.

 

Это смиты, равные 6(mod 9), тоже из 700 первых смитов, 154 штуки:

 

438 483 627 636 645 654 663 690 762 825 852 861 915 1086 1284 1581 1626 1842 2067 2265 2373 2409 2679 2688 2751 2958 3138 3174 3246 3345 3390 3615 3930 4173 4191 4209 4794 4974 5172 5253 5298 5388 5397 5874 5946 6036 6054 6171 6252 6315 6531 6567 6585 6603 6684 6693 6702 6855 6981 7026 7062 7089 7287 7503 7674 7683 7764 7782 7809 8196 8277 8412 8421 8466 8628 8736 8754 8790 9015 9276 9285 9294 9330 9483 9708 9717 9735 9843 9861 9924 9942 10086 10419 10689 10698 10761 10797 10806 10887 11679 12318 12732 12795 12939 12957 12975 13506 13812 13974 14046 14784 14946 14991 15018 15126 15369 15558 15747 15882 15981 16098 16269 16647 16746 16890 17187 17268 17646 17664 17718 17754 17826 17835 17889 17907 17916 18069 18132 18177 18474 18618 18735 19212 19428 19482 19554 19590 19644 19725 19761 19941 20229 20319 20823

 

Сумма первых 36 чисел равна 73071, тоже не годится для нужных нам магических констант.

 

Смитов, равных 7(mod 9), из 700 первых смитов нашлось всего 2 штуки:

 

9880  13984

 

Тоже всё ясно.

 

Смиты, равные 8(mod 9), из первых 700 смитов, 42 штуки:

 

728  1376  1736  1952  2366  2888  4472  4832  5642  6344  7136  7712  7784  8792  8864  9296  9386  10592  10664  10736  11816  13454  13472  14534  15128  15704  15848  15884  15974  16568  17738  17864  18278  18872  19232  19376  19592  19808  19880  19943  19952  20618

 

Очевидно, что сумма первых 36 чисел будет большая. Значит, тоже не годится.

 

Однако гипотеза не доказана для комбинаций разных вычетов. Не доказана она и для больших магических констант.

 

Если обе приведённые гипотезы верны, то потенциальными магическими константами для искомого квадрата являются следующие константы:

 

3912, 4020, 4128, 4236, 4344, 4452, 4560, 4668, 4776, 4884, 4992, 5100, 5208, 5316, 5424, 5532, 5640, 5748, 5856

 

С какой же из этих магических констант пандиагональный квадрат существует? И существует ли вообще? Забегая вперёд, скажу, что для первой магической константы в этом ряду – 3912 – мне удалось по своей последней программе выполнить полный перебор. Квадрат не найден.

 

*****

 

Сейчас решила попробовать найти по программе Беляева пандиагональные квадраты с магической константой больше 5964, которые ещё не найдены. С ходу получились квадраты с константой 7476:

 

265 535 355 2173 2182 1966

1894 2326 634 562 2038  22

2722 121 2362 958  58 1255

391 346 1678 2155 1921 985

1822 454 1282 706 166 3046

382 3694 1165 922 1111 202

  1: S=7476  p2,4,6,8=-36 108 1188 -1260

 

265 382 1822 391 2722 1894

1966 202 3046 985 1255  22

2182 1111 166 1921  58 2038

2173 922 706 2155 958 562

355 1165 1282 1678 2362 634

535 3694 454 346 121 2326

  2: S=7476  p2,4,6,8=-1152 1152 1188 -1260

 

454 3694 535 2326 121 346

1282 1165 355 634 2362 1678

706 922 2173 562 958 2155

166 1111 2182 2038  58 1921

3046 202 1966  22 1255 985

1822 382 265 1894 2722 391

  3: S=7476  p2,4,6,8=1260 -1188 -1152 1152

 

166 3046 1822 454 1282 706

1111 202 382 3694 1165 922

2182 1966 265 535 355 2173

2038  22 1894 2326 634 562

 58 1255 2722 121 2362 958

1921 985 391 346 1678 2155

  4: S=7476  p2,4,6,8=1188 -1260 -1152 1152

 

454 1822 3046 166 706 1282

346 391 985 1921 2155 1678

121 2722 1255  58 958 2362

2326 1894  22 2038 562 634

535 265 1966 2182 2173 355

3694 382 202 1111 922 1165

  5: S=7476  p2,4,6,8=-108 36 -1152 1152

 

166 1921  58 2038 2182 1111

706 2155 958 562 2173 922

1282 1678 2362 634 355 1165

454 346 121 2326 535 3694

1822 391 2722 1894 265 382

3046 985 1255  22 1966 202

  6: S=7476  p2,4,6,8=-36 108 -1152 1152

 

562 958 2155 706 922 2173

634 2362 1678 1282 1165 355

2326 121 346 454 3694 535

1894 2722 391 1822 382 265

 22 1255 985 3046 202 1966

2038  58 1921 166 1111 2182

  7: S=7476  p2,4,6,8=-1152 1188 1152 -1260

 

562 2038  22 1894 2326 634

2173 2182 1966 265 535 355

922 1111 202 382 3694 1165

706 166 3046 1822 454 1282

2155 1921 985 391 346 1678

958  58 1255 2722 121 2362

  8: S=7476  p2,4,6,8=0 72 1152 -1260

 

166 1111 2182 2038  58 1921

3046 202 1966  22 1255 985

1822 382 265 1894 2722 391

454 3694 535 2326 121 346

1282 1165 355 634 2362 1678

706 922 2173 562 958 2155

  9: S=7476  p2,4,6,8=-1260 1188 1152 -1152

 

454 1282 706 166 3046 1822

3694 1165 922 1111 202 382

535 355 2173 2182 1966 265

2326 634 562 2038  22 1894

121 2362 958  58 1255 2722

346 1678 2155 1921 985 391

  10: S=7476  p2,4,6,8=-1188 1260 1152 -1152

 

166 706 1282 454 1822 3046

1921 2155 1678 346 391 985

 58 958 2362 121 2722 1255

2038 562 634 2326 1894  22

2182 2173 355 535 265 1966

1111 922 1165 3694 382 202

  11: S=7476  p2,4,6,8=108 -36 1152 -1152

 

454 346 121 2326 535 3694

1822 391 2722 1894 265 382

3046 985 1255  22 1966 202

166 1921  58 2038 2182 1111

706 2155 958 562 2173 922

1282 1678 2362 634 355 1165

  12: S=7476  p2,4,6,8=36 -108 1152 -1152

 

1165 355 634 2362 1678 1282

922 2173 562 958 2155 706

1111 2182 2038  58 1921 166

202 1966  22 1255 985 3046

382 265 1894 2722 391 1822

3694 535 2326 121 346 454

  13: S=7476  p2,4,6,8=-1152 1152 -108 36

 

382 265 1894 2722 391 1822

202 1966  22 1255 985 3046

1111 2182 2038  58 1921 166

922 2173 562 958 2155 706

1165 355 634 2362 1678 1282

3694 535 2326 121 346 454

  14: S=7476  p2,4,6,8=-72 72 -1188 36

 

1165 355 634 2362 1678 1282

922 2173 562 958 2155 706

1111 2182 2038  58 1921 166

202 1966  22 1255 985 3046

382 265 1894 2722 391 1822

3694 535 2326 121 346 454

  15: S=7476  p2,4,6,8=-1152 1152 -108 36

 

Для построения этих квадратов я использовала имеющийся у меня банк комплектов отклонений для пандиагональных квадратов из смитов. Такой же банк комплектов отклонений у меня есть и для пандиагональных квадратов из простых чисел. Банк я создала очень просто, записала в него все те комплекты отклонений, с которыми пандиагональные квадраты построились. Конечно, в идеале надо для каждой магической константы подбирать свои комплекты отклонений.

С этой магической константой построилось много квадратов, 15 штук. При этом комплекты отклонений не подбирались специально для этой магической константы.

 

*****

 

Теперь пора рассказать об алгоритмах. Одним из самых удачных надо признать алгоритм, в котором соединены метод С. Беляева и общая формула пандиагонального квадрата 6-го порядка. Эта формула приведена в [3]. Она получена решением системы линейных уравнений, описывающей пандиагональный квадрат. Продублирую здесь схему, по которой была получена общая формула (рис. 4). В формуле 16 свободных (независимых) переменных (они выделены на рис. 4 красным цветом) и 20 зависимых переменных.

 

 

a1

x1

a2

x2

a3

x3

x4

x5

x6

x7

x8

x9

x10

a4

x11

a5

x12

a6

x13

x14

x15

x16

x17

x18

a7

x19

a8

x20

a9

x21

x22

a10

x23

a11

x24

a12

 

Рис. 4

 

Расскажу подробно, как же составлялась программа, реализующая данный алгоритм. Все обозначения элементов даются по приведённой на рис. 4 схеме.

Сразу отмечу, что программа составлялась в предположении, что квадрат строится из массива, состоящего из 36 чисел. В этом случае мы можем зафиксировать один из свободных элементов, так как в пандиагональном квадрате любой из элементов можно сделать угловым с помощью параллельного переноса на торе. Я фиксирую угловой элемент a12. Теперь у нас остаётся 15 свободных переменных. Отмечу, что в этой программе некоторые зависимые переменные стали свободными и наоборот, но это не меняет общего соотношения свободных и зависимых переменных.

 

Итак, подробно описываю все этапы программы.

 

1 этап. Задаём a10, a11, x22, x23. Вычисляем x24.

2 этап. Задаём a4, x10, x11. Находим отклонения p7, p8, p9. Вычисляем, используя отклонения, a5, a6, x12.

3 этап. Задаём a1, a2, x16. Находим отклонение p1. Вычисляем x18.

 

Имеем 4 независимых отклонения: p1, p7, p8, p9. Находим остальные 5 отклонений по следующим формулам:

 

p6 = p1p8

p5 = -p1p9

p2 = p7p6

p3 = -p5p7

p4 = p3p8

 

Примечание: на этом этапе можно остановиться и выводить комплекты отклонений, чтобы потом проверить их по программе Беляева. Но их будет очень много.

Ещё замечу, что позже, работая с отклонениями, я поняла, что найденные на этом этапе отклонения надо бы проверить на принадлежность массиву всех возможных парных отклонений. Это, наверное, намного сократит перебор в данной программе. Если вернусь к этой программе, обязательно вставлю такую проверку.

 

Продолжаю рассказ о программе.

 

4 этап. Задаём a9. Вычисляем x5.

5 этап. Задаём a3. Вычисляем x14.

6 этап. Задаём a7. Вычисляем x7, a8, x9.

 

Примечание: Элемент a8 вычисляется по решётке Россера, по следующей формуле:

a8 = 3S/2 – a1 – a2 – a3 – x10 – x11 – x12 – a7 – a9.

 

                        7 этап. Задаём x15. Вычисляем x3, x21, x6.

                        8 этап. Задаём x20. Вычисляем все остальные элементы.

 

Вот и все этапы программы. Эта программа полностью отлажена и работает. Мне удалось выполнить по этой программе полную проверку магической константы 3912. Квадрат не нашёлся. Могу утверждать, что пандиагонального квадрата 6-го порядка из смитов с такой магической константой не существует. Однако проверить все потенциальные константы по этой программе сложно, так как выполняется она очень долго. И, кроме того, программа выполняет проверку только массива из 36 чисел. Для магической константы 3912 такой массив всего один, вот он:

 

4  22  58  85  94  121  166  202  265  274  319  346  355  382  391  454  517  526  535  562  634  706  778  895  913  922  958  985  1111  1165  1219  1255  1282  1507  1642  1822

 

Поэтому эту магическую константу было легко проверить. Для других же магических констант будет несколько потенциальных массивов из 36 чисел и надо проверять каждый из них.

 

Для тестирования программы я брала массив смитов для магической константы 5964, из которого квадрат уже известен. Первый найденный программой квадрат такой (рис. 5):

 

517

1795

454

1921

382

895

166

922

535

1282

274

2785

526

913

1966

346

1858

355

1219

1678

985

319

121

1642

634

562

391

1894

2218

265

2902

94

1633

202

1111

22

 

Рис. 5

 

Этот алгоритм был реализован и А. Черновым. Он тоже не нашёл пандиагонального квадрата с магической константой 3912. А для магической константы 5964 из заданного массива из 36 чисел (известный массив) получил 8 пандиагональных квадратов. Вот его результаты:

 

6:[p]:5964: 634,562,391,1894,2218,265,1219,1678,985,319,121,1642,526,913,1966,346,1858,355,166,922,535,1282,274,2785,517,1795,454,1921,382,895,2902,94,1633,202,1111,22

6:[p]:5964: 517,1795,454,1921,382,895,166,922,535,1282,274,2785,526,913,1966,346,1858,355,1219,1678,985,319,121,1642,634,562,391,1894,2218,265,2902,94,1633,202,1111,22

6:[p]:5964: 2218,1894,391,562,634,265,121,319,985,1678,1219,1642,1858,346,1966,913,526,355,274,1282,535,922,166,2785,382,1921,454,1795,517,895,1111,202,1633,94,2902,22

6:[p]:5964: 382,1921,454,1795,517,895,274,1282,535,922,166,2785,1858,346,1966,913,526,355,121,319,985,1678,1219,1642,2218,1894,391,562,634,265,1111,202,1633,94,2902,22

6:[p]:5964: 634,1219,526,166,517,2902,562,1678,913,922,1795,94,391,985,1966,535,454,1633,1894,319,346,1282,1921,202,2218,121,1858,274,382,1111,265,1642,355,2785,895,22

6:[p]:5964: 2218,121,1858,274,382,1111,1894,319,346,1282,1921,202,391,985,1966,535,454,1633,562,1678,913,922,1795,94,634,1219,526,166,517,2902,265,1642,355,2785,895,22

6:[p]:5964: 517,166,526,1219,634,2902,1795,922,913,1678,562,94,454,535,1966,985,391,1633,1921,1282,346,319,1894,202,382,274,1858,121,2218,1111,895,2785,355,1642,265,22

6:[p]:5964: 382,274,1858,121,2218,1111,1921,1282,346,319,1894,202,454,535,1966,985,391,1633,1795,922,913,1678,562,94,517,166,526,1219,634,2902,895,2785,355,1642,265,22

 

Представлю первый из этих квадратов в привычном виде (рис. 6):

 

634

562

391

1894

2218

265

1219

1678

985

319

121

1642

526

913

1966

346

1858

355

166

922

535

1282

274

2785

517

1795

454

1921

382

895

2902

94

1633

202

1111

22

 

Рис. 6

 

Этот квадрат отличается от квадрата, полученного по моей программе (рис. 5), переставленными строками. А второй квадрат Чернова в точности совпадает с найденным моей программой.

 

И ещё один тест – для магической константы 8340, тоже из известного массива из 36 чисел. Квадрат построился такой (рис. 7):

 

94

706

1903

958

1894

2785

454

2227

1165

2605

382

1507

2614

265

2722

319

202

2218

2182

526

355

2326

2434

517

535

2038

1633

1966

913

1255

2461

2578

562

166

2515

58

 

Рис. 7

 

 Интересный комплект отклонений в этом квадрате: p1 = -360, p2 = 360, p3 = -360, p4 = -360, p5 = 360, p6 = -360, p7 = 0, p8 = 0, p9 = 0.

 

*****

 

Несколько замечаний.

 

1. Сделала небольшой массив из смитов, равных 4(mod 9). Взяла для этого первые 400 смитов. Получился массив из 189 смитов:

 

4 22 58 85 94 121 166 202 265 274 319 346 355 382 391 454 517 526 535 562 634 706 778 895 913 922 958 985 1111 1165 1219 1255 1282 1507 1633 1642 1678 1795 1822 1858 1894 1903 1921 1966 2038 2155 2173 2182 2218 2227 2326 2362 2434 2461 2515 2578 2605 2614 2722 2785 2839 2902 2911 2965 2974 3046 3091 3226 3442 3505 3595 3622 3649 3694 3802 3865 3946 3973 4054 4126 4162 4189 4198 4279 4306 4369 4414 4594 4702 4765 4855 4918 4954 4981 5062 5071 5098 5242 5269 5305 5386 5422 5458 5485 5539 5602 5638 5674 5818 5854 5926 5935 5998 6115 6178 6187 6259 6295 6385 6439 6457 6502 6583 6718 6835 6880 6934 7051 7078 7186 7195 7249 7339 7402 7438 7447 7465 7627 7726 7762 7834 7915 7978 8005 8014 8023 8077 8095 8149 8158 8185 8257 8347 8518 8545 8653 8680 8851 8914 9031 9094 9166 9184 9193 9229 9274 9301 9346 9355 9382 9427 9535 9571 9598 9634 9742 9760 9778 9895 9985 10201 10291 10462 10489 10579 10606 10669 10705 10786

 

Основываясь на приведённой выше гипотезе (хотя она и не доказана), я строю пандиагональные квадраты только из смитов, принадлежащих данному массиву.

Важно отметить: в программе Беляева (буду в дальнейшем для краткости называть эту программу программой А – самая важная программа) задействован весь массив смитов, он ничего не выбрасывает. И, тем не менее, ни один из построенных по этой программе квадратов не содержит смитов, не равных 4(mod 9).

 

2. Сначала описанный выше алгоритм был опробован на моей частной схеме (см. [2], рис. 10 – 11). В этой схеме всего три отклонения, при этом только два независимых, третье отклонение вычисляется по этим двум. Понятно, что частная схема даёт ограниченную группу пандиагональных квадратов. Зато она намного проще в реализации. Опробовав эту упрощённую схему, я перешла к общей схеме Беляева.

 

Для тестирования программы был взят массив чисел, составляющих наименьший идеальный квадрат с магической константой 78540 (см. рис. 3). Для этого массива строится очень много квадратов, приведу первые три квадрата.

 

 2218  23089  22738  9535  2614  18346

 26014  2362  4702  6502  21874  17086

 9031  18022  9634  21226  18985  1642

 16645  23566  7834  23962  3091  3442

 19678  4306  9094  166  23818  21478

 4954  7195  24538  17149  8158  16546

 

 16645  23566  7834  23962  3091  3442

 26014  2362  4702  6502  21874  17086

 9031  18022  9634  21226  18985  1642

 2218  23089  22738  9535  2614  18346

 19678  4306  9094  166  23818  21478

 4954  7195  24538  17149  8158  16546

 

 2218  23089  22738  9535  2614  18346

 23818  166  9094  4306  19678  21478

 9031  18022  9634  21226  18985  1642

 16645  23566  7834  23962  3091  3442

 21874  6502  4702  2362  26014  17086

 4954  7195  24538  17149  8158  16546

 

Заметьте, что квадраты пандиагональные, но не идеальные. Это понятно: свойство ассоциативности данный алгоритм не предусматривает.

 

И ещё один тест. Здесь квадраты строятся из массива, составляющего наименьший ассоциативный квадрат, найденный М. Алексеевым (полученный из него пандиагональный квадрат показан на рис. 3а). Магическая константа квадрата равна 14280. Квадратов тоже строится много, показываю первые три квадрата.

 

 2038  634  4054  562  2578  4414

 166  3865  2965  1921  1858  3505

 2605  391  4702  2326  454  3802

 4198  2182  346  2722  4126  706

 2839  2902  1255  4594  895  1795

 2434  4306  958  2155  4369  58

 

 2038  634  4054  562  2578  4414

 2839  2902  1255  4594  895  1795

 2605  391  4702  2326  454  3802

 4198  2182  346  2722  4126  706

 166  3865  2965  1921  1858  3505

 2434  4306  958  2155  4369  58

 

 1795  895  4594  1255  2902  2839

 706  4126  346  2722  2182  4198

 3802  454  4702  2326  391  2605

 3505  1858  1921  2965  3865  166

 2038  2578  562  4054  634  4414

 2434  4369  2155  958  4306  58

 

*****

 

Думаю, интересно рассказать и о варианте описанного алгоритма. Он состоит в следующем: убираю из программы 8 этап. Программа строит полуфабрикаты, в которых отсутствуют 8 чисел, и для каждого полуфабриката выводится комплект отклонений. Время выполнения такого варианта программы несколько меньше полного варианта, так как убирается одна свободная переменная, меньше на один вложенный цикл.

В результате выполнения этой программы я получила полный набор комплектов отклонений при условии, что правильно выбраны 28 элементов квадрата. Для магической константы 3912 этот набор состоит из 2088 комплектов отклонений. При этом я не проверяла комплекты отклонений на совпадение, возможно, имеются одинаковые. Вывела комплекты базовых отклонений и проверила их по программе А.

Проверились комплекты отклонений очень быстро, квадрат не найден.

 

Покажу несколько полуфабрикатов, которые выдаются программой для магической константы 3912.

 

45  63  63 -837  729 -855 -792  900 -774

 391  0  1282  0  535  922

 0  778  355  1507  0  1642

 346  1219  526  274  382  1165

 0  706  319  958  0  85

 634  0  517  0  1255  94

 1822  22  913  166  985  4

 

 837 -729  855 -45 -63 -63 -792  900 -774

 634  0  517  0  1255  94

 0  706  319  958  0  85

 346  1219  526  274  382  1165

 0  778  355  1507  0  1642

 391  0  1282  0  535  922

 1822  22  913  166  985  4

 

-36  324  387 -369  81 -792 -468  756 -45

 355  0  985  0  58  535

 0  166  121  1111  0  1822

 634  778  1255  265  526  454

 0  922  382  913  0  706

 562  0  274  0  1219  391

 1507  22  895  202  1282  4

 

 369 -81  792  36 -324 -387 -468  756 -45

 562  0  274  0  1219  391

 0  922  382  913  0  706

 634  778  1255  265  526  454

 0  166  121  1111  0  1822

 355  0  985  0  58  535

 1507  22  895  202  1282  4

 

 720 -81  72 -684  45 -36 -117  756 -765

 382  0  94  0  1111  454

 0  958  913  166  0  1255

 922  1165  535  202  526  562

 0  274  778  1642  0  1282

 1822  0  85  0  391  355

 1219  22  1507  265  895  4

 

 720 -81  72 -684  45 -36 -117  756 -765

 382  0  121  0  1111  454

 0  958  913  166  0  1282

 922  1165  535  202  526  562

 0  274  778  1642  0  1255

 1822  0  58  0  391  355

 1219  22  1507  265  895  4

 

Перед каждым полуфабрикатом выведен соответствующий ему комплект из 9 отклонений (в выходной файл я выводила комплект базовых отклонений p2, p4, p6, p8, который нужен для программы А).

 

Например, для первого полуфабриката

 

45  63  63 -837  729 -855 -792  900 -774

 391  0  1282  0  535  922

 0  778  355  1507  0  1642

 346  1219  526  274  382  1165

 0  706  319  958  0  85

 634  0  517  0  1255  94

 1822  22  913  166  985  4

 

имеем такой комплект отклонений:

 

p1 = 45, p2 = 63, p3 = 63, p4 = -837, p5 = 729, p6 = -855, p7 = -792, p8 = 900, p9 = -774,

 

а сам полуфабрикат имеет такой вид (рис. 8):

 

391

0

1282

0

535

922

0

778

355

1507

0

1642

346

1219

526

274

382

1165

0

706

319

958

0

85

634

0

517

0

1255

94

1822

22

913

166

985

4

 

Рис. 8

 

Таких полуфабрикатов с 8 «дырками» программа выдала 2088. Ни один из них до полного квадрата не достроился.

 

Немного проверяла по этой программе (для одного прохода внешнего цикла) и другие магические константы. Приведу несколько примеров.

 

Для магической константы 4020:

 

№ 1 -450 -279 -324 -531  1260 -657 -936  207 -810

 

 535  0  922  0  454  1282

 0  1894  517  958  0  1219

 85  985  526  58  1111  1255

 0  1165  382  355  0  94

 913  0  778  0  706  166

 2218  22  895  319  562  4

 

№ 2  531 -1260  657  450  279  324 -936  207 -810

 

 913  0  778  0  706  166

 0  1165  382  355  0  94

 85  985  526  58  1111  1255

 0  1894  517  958  0  1219

 535  0  922  0  454  1282

 2218  22  895  319  562  4

 

№ 3  1008 -441  783 -261 -306 -36 -477  1044 -702

 

454  0  1165  0  526  355

 0  121  1219  319  0  1111

 517  166  634  922  274  1507

 0  1255  202  1894  0  958

 1282  0  265  0  913  85

 895  22  535  346  2218  4

 

№ 4  261  306  36 -1008  441 -783 -477  1044 -702

 

 1282  0  265  0  913  85

 0  1255  202  1894  0  958

 517  166  634  922  274  1507

 0  121  1219  319  0  1111

 454  0  1165  0  526  355

 895  22  535  346  2218  4

 

№ 5  990  639 -252 -1449 -180 -207  432  1197 -810

 

 1219  0  382  0  166  85

 0  958  355  895  0  1282

 1255  319  526  634  121  1165

 0  535  1507  1111  0  706

 1894  0  265  0  202  778

 274  22  985  517  2218  4

 

№ 6  1449  180  207 -990 -639  252  432  1197 -810

 

 1894  0  265  0  202  778

 0  535  1507  1111  0  706

 1255  319  526  634  121  1165

 0  958  355  895  0  1282

 1219  0  382  0  166  85

 274  22  985  517  2218  4

 

№ 7 -504  423  36 -504  585 -1044 -621  540 -81

 

 319  0  1111  0  535  913

 0  706  202  1282  0  2218

 85  922  1255  454  778  526

 0  382  391  517  0  265

 562  0  166  0  1219  94

 1507  22  895  634  958  4

 

Всего выдалось 14 полуфабрикатов. В выходной файл программа выводит, как уже сказано, набор базовых отклонений p2, p4, p6, p8, которые затем проверяются по программе А; здесь такой набор из 14 комплектов отклонений:

 

-279 -531 -657  207

-1260  450  324  207

-441 -261 -36  1044

 306 -1008 -783  1044

 639 -1449 -207  1197

 180 -990  252  1197

 423 -504 -1044  540

-585  504 -36  540

-279 -522  396  1260

 855 -1656 -738  1260

 864 -693 -756  405

-180  351  288  405

 315 -432  297  540

 720 -837 -108  540

 

Для магической константы 4128:

 

№ 1  252 -144  891 -9 -99 -648 -792  900 -153

 

 706  0  985  0  355  94

 0  958  382  274  0  1507

 526  121  1219  913  454  895

 0  1165  391  922  0  1282

 1111  0  517  0  319  346

 1255  22  634  58  2155  4

 

№ 2  9  99  648 -252  144 -891 -792  900 -153

 

 1111  0  517  0  319  346

 0  1165  391  922  0  1282

 526  121  1219  913  454  895

 0  958  382  274  0  1507

 706  0  985  0  355  94

 1255  22  634  58  2155  4

 

Выдалось всего два полуфабриката.

 

Для магической константы 4236:

 

№ 1  1377 -1260  612  387 -504  1152 -108  225 -873

 

 355  0  913  0  2614  526

 0  706  1642  634  0  166

 85  382  535  562  1165  1507

 0  58  274  2434  0  1111

 391  0  94  0  202  922

 958  22  778  1219  1255  4

 

№ 2 -387  504 -1152 -1377  1260 -612 -108  225 -873

 

 391  0  94  0  202  922

 0  58  274  2434  0  1111

 85  382  535  562  1165  1507

 0  706  1642  634  0  166

 355  0  913  0  2614  526

 958  22  778  1219  1255  4

 

Всего два экземпляра.

 

Подчеркну ещё раз, что это результаты выполнения всего одного прохода внешнего цикла.

Так как полное выполнение программы требует очень много времени даже в таком варианте, проверку прекратила.

 

*****

 

Начинаю рассказ об отклонениях. Тут начинается самое интересное и сложное.

 

Во-первых, как уже говорилось, алгоритм Беляева требует для построения пандиагонального квадрата некоторый набор базовых отклонений. Как искать этот набор, автор алгоритма не пояснил.

Во-вторых, моя работа с отклонениями началась сразу же, как только Беляев опубликовал свой алгоритм и выложил программу. Я сразу же начала экспериментировать с этой программой. Сначала нашла несколько пандиагональных квадратов из простых чисел. Затем перешла к квадратам из смитов.

 

Как же искать комплекты отклонений? Я делала это очень просто: искала такие комплекты отклонений, для которых имеется не менее m пар чисел. Для некоторых магических констант m = 6. Это очень высокая концентрация псевдокомплементарных пар, и вероятность найти квадрат с такими комплектами отклонений очень высокая. Так многие квадраты и были найдены.

А для некоторых магических констант нет ни одного комплекта отклонений, для которого пар не менее 6, тогда приходилось брать m = 5.

Вот такая у меня была простая методика поиска комплектов базовых отклонений.

 

Понятно, что эта методика работает только для тех случаев, когда пандиагональный квадрат существует. Тогда он находится достаточно быстро. Я находила наборы по 1000 комплектов отклонений. Для некоторых магических констант было достаточно одного набора, для других приходилось обработать несколько таких наборов.

Но для того, чтобы выяснить существует ли пандиагональный квадрат, необходим полный набор комплектов отклонений. Вот тут и начинаются сложности. Конечно, найти такой набор можно и не так уж сложно, но! Он будет содержать несколько миллионов комплектов отклонений, обработать их все по программе А нереально. В принципе это то же самое, что выполнить мою программу для описанного выше алгоритма. Много часов потребуется для обработки такого набора комплектов отклонений.

 

Теперь начала работать с отклонениями вплотную. Тут у меня очень много разных идей возникло, некоторые из них уже удалось реализовать. Но собрать их все в одну цельную программу пока не получается.

Экспериментирую с отдельными программками, написанными для каждого этапа, для каждой отдельной идеи. Иногда получаются интересные результаты. Но решения задачи пока, конечно, не получено.

 

Сначала беру массив из 36 чисел. Пусть, для примера, это будет массив для квадрата с магической константой 5964:

 

22  94  121  166  202  265  274  319  346  355  382  391  454  517  526  535  562  634  895  913  922  985  1111  1219  1282  1633  1642  1678  1795  1858  1894  1921  1966  2218  2785  2902

 

Пишу программку, которая находит все возможные отклонения и выбирает из них парные отклонения, то есть такие, которые есть и положительные и отрицательные, например: 72 и -72. Понятно, что всех возможных отклонений для массива из 36 чисел будет 630. Парных отклонений для данного массива получилось 498. Не буду показывать этот массив. Далее пишу программку, которая выбирает из этого массива парных отклонений разные отклонения. Вот такой получился массив разных парных отклонений:

 

-1872 -1773 -1764 -1728 -1701 -1692 -1665 -1620 -1611 -1584 -1575 -1548 -1539 -1512 -1503 -1485 -1476 -1449 -1440 -1431 -1368 -1359 -1341 -1332 -1323 -1314 -1305 -1296 -1287 -1269 -1260 -1251 -1233 -1215 -1197 -1188 -1179 -1152 -1143 -1125 -1116 -1089 -1080 -1071 -1062 -1044 -1035 -1017 -1008 -999 -981 -972 -963 -936 -927 -909 -900 -891 -873 -864 -855 -828 -819 -801 -792 -783 -756 -747 -729 -720 -702 -684 -675 -639 -621 -612 -603 -585 -576 -567 -558 -549 -540 -513 -504 -495 -468 -459 -450 -441 -432 -423 -387 -369 -360 -351 -342 -333 -324 -315 -288 -261 -252 -243 -225 -216 -207 -189 -180 -171 -153 -144 -135 -108 -99 -81 -72 -45 -36 -27 -9  0  9  27  36  45  72  81  99  108  135  144  153  171  180  189  207  216  225  243  252  261  288  315  324  333  342  351  360  369  387  423  432  441  450  459  468  495  504  513  540  549  558  567  576  585  603  612  621  639  675  684  702  720  729  747  756  783  792  801  819  828  855  864  873  891  900  909  927  936  963  972  981  999  1008  1017  1035  1044  1062  1071  1080  1089  1116  1125  1143  1152  1179  1188  1197  1215  1233  1251  1260  1269  1287  1296  1305  1314  1323  1332  1341  1359  1368  1431  1440  1449  1476  1485  1503  1512  1539  1548  1575  1584  1611  1620  1665  1692  1701  1728  1764  1773  1872

 

Этот массив содержит 243 отклонения.

 

Теперь определяю все возможные значения для отклонения p1. Тут исходим из того, что угловой элемент a11 у нас будет зафиксирован, это будет минимальное число исходного массива, здесь число 22. Это условие накладывает ограничения на значения отклонения p1.

 

Это все возможные значения для отклонения p1 (в массиве всех возможных отклонений первые 35 значений):

 

-1872 -1845 -1800 -1764 -1701 -1692 -1647 -1620 -1611 -1584 -1575 -1512 -1449 -1440 -1431 -1404 -1332 -1071 -1053 -1044 -981 -855 -747 -684 -333 -324 -288 -171 -108 -72 -45  0  252  819  936

 

Выбираем те, которые входят в массив разных парных отклонений:

 

 -1872 -1764 -1701 -1692 -1620 -1611 -1584 -1575 -1512 -1449 -1440 -1431 -1332 -1071 -1044 -981 -855 -747 -684 -333 -324 -288 -171 -108 -72 -45  0  252  819  936

 

Осталось 30 штук.

 

Это первый этап работы с отклонениями, самая грубая прикидка.

Написала программку, которая на основе этих данных находит полный набор комплектов базовых отклонений. В программе делается полный перебор четырёх базовых отклонений p2, p4, p6, p8 (из 243 значений), остальные 5 отклонений вычисляются по формулам. При этом 4 отклонения (p3, p5, p7, p9) проверяются на принадлежность массиву разных парных отклонений, а отклонение p1 проверяется на принадлежность массиву значений для этого отклонения (30 значений).

Однако эта программа выдаёт очень много комплектов отклонений.

Тем не менее, удалось получить интересный результат. Я нашла порцию комплектов отклонений и проверила её по программе А. Программа нашла такие два пандиагональных квадрата:

 

22 1111 202 1633  94 2902

265 2218 1894 391 562 634

1642 121 319 985 1678 1219

355 1858 346 1966 913 526

2785 274 1282 535 922 166

895 382 1921 454 1795 517

  1: S=5964  p2,4,6,8=36 -1188 72 -72

 

 85 1507 1822  22 1894 634

 94 346 706 2578 202 2038

 895 2614  4  355 454 1642

1966  58 1255 1903 517 265

319 913 958 985 2515 274

2605 526 1219 121 382 1111

  2: S=5964  p2,4,6,8=36 -909 -1008 1008

 

Интересен второй квадрат. В нём есть числа, которые не входят в исходный массив из 36 чисел, взятый для эксперимента. Как уже сказано, программа А не ориентируется на конкретный массив из 36 чисел, она работает со всеми смитами, для неё важны только базовые отклонения. Отклонения подошли, и квадрат построился!

 

*****

 

Какие же ввести дополнительные условия, чтобы комплектов отклонений получалось меньше? Пришла такая идея. Параллельно будем работать с цепочками. Цепочками (вслед за 12d3, который сделал замечательную программу для построения нетрадиционных обычных магических квадратов 6-го порядка) будем называть наборы из 6 чисел, сумма которых равна магической константе квадрата. Предложение такое: сначала искать все варианты первой главной диагонали квадрата, то есть вот эти элементы квадрата (рис. 9):

 

a11

 

 

 

 

 

 

a22

 

 

 

 

 

 

a33

 

 

 

 

 

 

a44

 

 

 

 

 

 

a55

 

 

 

 

 

 

a66

 

Рис. 9

 

Много ли будет кандидатов на эту диагональ? Напомню, что угловой элемент a11 мы считаем фиксированным, a11 = 22.

Нахожу по программе все упорядоченные цепочки, начинающиеся с числа 22 (упорядоченной называется цепочка, в которой числа следуют в порядке возрастания).

Эксперимент проводится для того же исходного массива из 36 чисел для магической константы 5964.

Таких цепочек имеется 648. Вот несколько первых цепочек:

 

 22  94  166  562  2218  2902

 22  94  166  922  1858  2902

 22  94  166  985  1795  2902

 22  94  166  1219  1678  2785

 22  94  166  1795  1921  1966

 22  94  202  526  2218  2902

 22  94  202  895  1966  2785

 22  94  202  1111  1633  2902

 22  94  202  1219  1642  2785

 22  94  202  1633  1795  2218

 22  94  274  454  2218  2902

 22  94  274  895  1894  2785

 22  94  274  1111  1678  2785

 22  94  274  1795  1858  1921

 22  94  319  526  2218  2785

 . . . . . . . . . . . . . . . . . . . . . . . .  

 

Что делаем дальше? Понятно, что элементы первой главной диагонали дают нам значения отклонений p1, p5, p9.

Вот теперь и делаем проверку отклонений с помощью найденных цепочек. При этом в программе делаем все варианты цепочек, их будет 648*120=77760. Для каждого варианта цепочки вычисляем отклонения p1, p5, p9 и проверяем их на принадлежность соответствующим массивам отклонений, найденным выше.

Результат работы программы этого этапа: все реальные кандидаты на первую главную диагональ и количество разных значений для отклонений p1, p5, p9.

Вот результаты работы этой программы:

 

KOLICHESTVO RAZNYH OTKLONENIY P5: 139

 

 1080  792  963  909  99  144  1728  1773  432  1116  756  1440  324  1008  180  999  873  1692  72  891  504  1188  684  1368  1071  801  0  207  1665 -36  27  549  1323  1233  639  252  1620  576  1260  612  1296  1548  1143  729  1872 -252  1269  603  1152  720  585  1287 -261  261  333  1539  1611  288  1584  360  1512  621  1251  1305  567  369  1503  1575 -99  108  1764  387  1485 -216  423  1431  441  1449  1314  558  747  1125  171  1701  513  1332  540  1359  783  981  1089  828  855  1017  1044  900  972  675  1197  1035 -9 -72  351 -189  1476  36  495 -180 -144 -27  1179  1062  702  9  1215  189  216  153 -153 -108  135  225  315  468  459  1341  864  936  243  81 -81 -45  450  342 -171  819  45 -360  927

 

KOLICHESTVO RAZNYH OTKLONENIY P9: 139

 

 792  1080  909  963  1773  1728  144  99  1440  756  1116  432  1008  324  1692  873  999  180  891  72  1368  684  1188  504  801  1071  0  1665  207  27 -36  1323  549  639  1233  1620  252  1296  612  1260  576  1548  729  1143  1872 -252  603  1269  720  1152  1287  585 -261  1611  1539  333  261  1584  288  1512  360  1251  621  567  1305  1503  369  1575 -99  1764  108  1485  387 -216  1449  441  1431  423  558  1314  1125  747  1701  171  1359  540  1332  513  1089  981  783  1044  1017  855  828  972  900  1197  675  1035 -9 -72  351 -189  1476  36  495 -180 -144 -27  1179  702  1062  9  1215  189  216  153 -153  135 -108  225  468  315  459  1341  864  936  243  81 -81 -45  450  342 -171  819  45 -360  927

 

KOLICHESTVO RAZNYH OTKLONENIY P1: 9

 

-1872 -1764 -1692 -1512 -1620 -1584 -1611 -1575 -1701

 

Реальных кандидатов на первую главную диагональ только 10608 (это из 77760 вариантов, отсев очень большой). И отклонений отсеялось очень много. Тут происходит пересечение цепочек с отклонениями и взаимный отсев: отклонения отсеиваются цепочками, цепочки отсеиваются отклонениями. Интересный момент!

Покажу несколько реальных кандидатов на первую главную диагональ (вместе с цепочкой выводится и соответствующий комплект отклонений p1, p5, p9):

 

22  166  562  94  2902  2218

-1872  1080  792

 22  166  2218  94  2902  562

-1872  1080  792

 22  562  166  94  2218  2902

-1872  792  1080

 22  562  2902  94  2218  166

-1872  792  1080

 22  2218  166  94  562  2902

-1872  792  1080

 22  2218  2902  94  562  166

-1872  792  1080

 22  2902  562  94  166  2218

-1872  1080  792

 22  2902  2218  94  166  562

-1872  1080  792

. . . . . . . . . . . . . . . . . . . . . . . . .

 

Здесь хорошо видно, что есть много одинаковых комплектов отклонений p1, p5, p9. Однако в массивы идут только разные отклонения.

Я сохранила массив всех реальных кандидатов на первую главную диагональ в файле 5964diagon.txt. Помещу его на сайт. Может быть, кому-нибудь пригодится, кто заинтересуется задачей.

 

Ну что же, теперь мы имеем массивы для отклонений p5 и p9 из 139 значений и массив для отклонения p1 из 9 значений. Можно снова попробовать найти полный набор комплектов отклонений. Я попробовала, но количество комплектов всё ещё очень большое.

Хотя тут надо экспериментировать с другими магическими константами. Для других констант могут получиться совсем другие результаты, количества значений для отклонений могут быть значительно меньше и вполне реально найти полный набор комплектов отклонений. Мне не хватает времени на все эти эксперименты. Для некоторых констант я всё это проделала. Возможно, приложу к статье и свой рабочий файл, где описаны все эксперименты.

 

Сейчас иду дальше в одновременной работе с цепочками и с отклонениями. Итак, запомним: мы нашли 10608 реальных кандидатов на первую диагональ и с каждым кандидатом имеем комплект трёх отклонений p1, p5, p9. Кроме того, мы имеем массивы значений для каждого из этих трёх отклонений. И имеем массив всех разных парных отклонений.

Следующий этап – поиск второй диагонали, это будет такая диагональ  (рис. 10):

 

 

a11

a12

 

 

 

 

 

a22

a23

 

 

 

 

 

a33

a34

 

 

 

 

 

a44

a45

 

 

 

 

 

a55

a56

a61

 

 

 

 

a66

 

Рис. 10

 

Понятно, что элементы этой диагонали дают нам значения следующих трёх отклонений: p2, p6, p7.

Очевидно также, что вторую диагональ надо искать из оставшихся 30 элементов, выбросив из исходного массива 6 чисел, составляющих первую диагональ. Ну, и как уже догадываются читатели, поиск второй диагонали надо связать с уже найденными значениями отклонений и проверять все новые отклонения на принадлежность массиву разных парных отклонений.

Далее совершенно очевидно, что три новых отклонения p2, p6, p7 вместе с найденными ранее тремя отклонениями p1, p5, p9 полностью определяют весь комплект из 9 отклонений, а значит и базовый комплект.

Таким образом, в результате работы этой программы мы получаем все варианты с двумя диагоналями и соответствующие им комплекты отклонений. Всё! Это уже завершающий этап. Больше нам ничего не нужно.

 

Примечание: здесь важен такой момент (по мотивам дискуссии с А. Черновым). Найдя полный набор комплектов отклонений, я предлагаю обрабатывать этот комплект по программе А, и сама делаю это. Хотя, конечно, совершенно очевидно, что можно продолжить далее мою программу с этого момента и проверить достраивание квадрата по полученным двум диагоналям и полному комплекту отклонений. Это будет даже гораздо эффективнее, чем пользоваться программой А, так как эта программа, получив комплект отклонений, начинает проверку с нуля, а в моей программе проверка будет начинаться с двух готовых диагоналей.

 И в рабочем файле я это проделала (проверочно) для одного конкретного примера. То есть программа и для этого завершающего этапа у меня написана. Пока же мне удобнее пользоваться для обработки полных наборов комплектов отклонений программой А. Тем более что и получаю я эти наборы не полностью, а частично.

 

Написала программку и для этого этапа. Мой компьютер тихоход, он и здесь не очень шустро выполняет программу. Я не стала выполнять программу до конца. Посмотрела на начало массива комплектов базовых отклонений:

 

36 -108  1332 -1332

 36 -108  1332 -1332

 36 -108  1323 -1323

 36 -108  1323 -1323

 36 -108  873 -873

 36 -108  873 -873

 36 -108  747 -747

 36 -108  747 -747

 36 -108  639 -639

 36 -108  639 -639

 36 -108  225 -225

 36 -108  225 -225

 36 -108  216 -216

 36 -108  216 -216

 36 -108 -36  36

 36 -108 -36  36

 36 -108 -360  360

 36 -108 -360  360

 36 -108 -927  927

 36 -108 -927  927

 . . . . . . . . . . . . . . . .

 

Тут очень много одинаковых комплектов. Надо вставлять в программу проверку на одинаковость и отсеивать одинаковые комплекты базовых отклонений.

 

Как я уже сказала, надо собрать все этапы в единую программу. Мне это сложно сделать. А помочь абсолютно некому. Приходится ограничиваться проведением экспериментов по отдельным этапам.

 

В рабочих файлах описано много разных экспериментов и идей. Здесь изложены самые ключевые. Например, попробовала выбрасывать из найденного массива разных парных отклонений те, которые в единственном числе. Затем пошла дальше: выбрасывала и те отклонения, которых 2 или 3. Таким образом, оставляла только такие отклонения, для которых имеется не менее 4 пар. Это, собственно, старый путь. Он не даёт полной проверки, а может только найти квадрат, если таковой существует. Тем не менее, этот путь тоже можно пробовать.

 

Приведу один из экспериментов для магической константы 4128, когда выбрасывались отклонения, которые в единственном числе. Это значит, что для таких отклонений имеется только одна пара чисел. Шансы такой пары принять участие в составлении квадрата ничтожны малы. Вот что получилось в этом эксперименте.

 

Исходный массив из 36 чисел:

 

4  22  58  85  94  121  166  202  265  274  319  346  355  382  391  454  517  526  535  562  634  706  778  895  913  922  958  985  1111  1165  1219  1255  1282  1507  2155  2605

 

Разных парных отклонений получилось 508. Выбрала разные парные отклонения и выбросила те, которые в единственном числе, получился такой массив отклонений:

 

-1233 1233 -1053 1053 -900 900 -864 864 -837 837 -828 828 -801 801 -765 765 -693 693 -684 684 -657 657 -648 648 -585 585 -567 567 -513 513 -504 504 -495 495 -477 477 -432 432 -423 423 -405 405 -396 396 -369 369 -360 360 -333 333 -324 324 -315 315 -297 297 -288 288 -261 261 -252 252 -243 243 -225 225 -216 216 -189 189 -180 180 -153 153 -144 144 -135 135 -126 126 -117 117 -108 108 -99 99 -81 81 -72 72 -63 63 -45 45 -36 36 -9 9 0

 

В этом массиве осталось всего 99 значений.

 

Для отклонения p1 получились такие возможные значения (из 35 всех возможных выбрала те, которые принадлежат массиву разных парных отклонений):

 

-1053 -837 -477 -261 -153 -117  135  1233

 

Осталось всего 8 значений.

 

Уже и на этом этапе можно остановиться и попробовать найти полный набор комплектов отклонений. Но я решила ещё поработать с цепочками (кандидатами на первую диагональ). Нахожу по программе все упорядоченные цепочки, начинающиеся с числа 4. Программа выдаёт 716 цепочек. Вот несколько первых цепочек:

 

 4  22  58  274  1165  2605

 4  22  58  382  1507  2155

 4  22  58  454  985  2605

 4  22  58  517  922  2605

 4  22  58  526  913  2605

 4  22  58  634  1255  2155

 4  22  58  778  1111  2155

 4  22  58  1255  1282  1507

 4  22  85  355  1507  2155

 4  22  85  454  958  2605

 4  22  85  517  895  2605

 4  22  85  634  778  2605

 4  22  94  121  1282  2605

 4  22  94  346  1507  2155

 4  22  94  634  1219  2155

 4  22  94  895  958  2155

 . . . . . . . . . . . . . . . . . . . . .

 

Теперь пересекаем цепочки с найденными отклонениями.

 

Результат выполнения программы:

 

KOLICHESTVO KANDIDATOV NA PERVUYU DIAGONAL: 10776

 

KOLICHESTVO RAZNYH OTKLONENIY P5: 81

 

-900 -369 -864 -333 -837 -432 -801 -396 -828 -405  801 -684 -72  153 -36  189 -99 -63 -1233  0 -648 -324  225 -135  252  900  108  333 -243 -585  396  1053  261  513  297  36  1233  585  765  360  657  693  684  324 -1053 -180  837  216  864 -360  72  477  288 -423  648  45 -9 -126  126  243  117  180  828 -108 -504  369  9 -144  81  405 -315 -288 -252  432  144 -216 -261  504 -567 -495  135

 

KOLICHESTVO RAZNYH OTKLONENIY P9: 81

 

-333 -864 -369 -900 -396 -801 -432 -837 -405 -828 -684  801  189 -36  153 -72 -63 -99  0 -1233 -648 -324  225 -135  900  252  333  108 -243 -585  396  1053  261  513  297  1233  36  585  765  360  657  693  684  324 -180 -1053  864  216  837 -360  72  477  288 -423  648  45 -126 -9  126  243  180  117  828 -108 -504  369  9 -144  81  405 -315 -288 -252  432  144 -216 -261  504 -567 -495  135

 

KOLICHESTVO RAZNYH OTKLONENIY P1: 8

 

 1233 -117  135 -153 -477 -1053 -261 -837

 

Вот несколько первых диагоналей, выданных программой:

 

4  22  58  2605  454  985

 1233 -900 -333

 4  22  985  2605  454  58

 1233 -900 -333

 4  22  58  2605  985  454

 1233 -369 -864

 4  22  454  2605  985  58

 1233 -369 -864

 4  58  22  2605  454  985

 1233 -864 -369

 4  58  985  2605  454  22

 1233 -864 -369

 4  58  22  2605  985  454

 1233 -333 -900

 4  58  454  2605  985  22

 1233 -333 -900

 4  454  58  2605  22  985

 1233 -900 -333

 . . . . . . . . . . . . . . . . . . . . .

 

Видно, что много одинаковых комплектов отклонений p1, p5, p9. По-моему, их можно отсеивать, они, наверное, дадут эквивалентные квадраты. Хотя я не уверена в этом. В этих дьявольских квадратах сам чёрт ногу сломит!

Смотрите, например, на рис. 11 – 12.

 

4

 

 

 

 

 

 

22

 

 

 

 

 

 

58

 

 

 

 

 

 

2605

 

 

 

 

 

 

454

 

 

 

 

 

 

985

 

Рис. 11

 

                        Вместе с таким вариантом диагонали присутствует и такой:

 

4

 

 

 

 

 

 

22

 

 

 

 

 

 

985

 

 

 

 

 

 

2605

 

 

 

 

 

 

454

 

 

 

 

 

 

58

 

Рис. 12

 

Будут ли квадраты с такими главными диагоналями эквивалентными или совсем не обязательно?

 

Уже на этом этапе удалось получить полный набор комплектов отклонений, он содержит 241220 комплектов. Однако даже такое количество комплектов для программы А оказалось слишком большим. Два часа работала программа, но все комплекты не проверила. Ну, может быть, часов за 12 и справится.

 

Тогда можно продолжить и сделать поиск второй диагонали. Я это не проделала.

 

Прилагаю архив, в котором файл 5964diagon.txt, содержащий все возможные первые главные диагонали для магической константы 5964 (из выбранного массива, состоящего из 36 чисел), а также два рабочих файла – «Работа с отклонениями». Эти файлы я писала для себя, это черновики, я их не редактировала. Так что в них, может быть, не всё понятно. Готова пояснить непонятные моменты. Но для тех, кто захочет вникнуть в задачу, эти рабочие файлы расскажут много.

Ссылка на архив: http://www.natalimak.narod.ru/mk/5964diagon.rar

 

*****

 

Продолжаю проводить эксперименты по отдельным этапам для различных магических констант. Сделать цельную программу пока не удалось. Жду-пожду, может, кто поможет. Похоже, напрасно жду.

 

Да, совсем забыла рассказать о формировании массивов чисел для заданной магической константы. Все приведённые выше примеры рассматривались для случая, когда массив состоит из 36 чисел. Однако, как уже было отмечено, для большинства магических констант массив содержит больше 36 чисел.

Написала программу формирования массива, чтобы она давала точно те числа, которые могут участвовать в составлении квадрата с данной магической константой. Так, для магической константы 4020 получился массив, состоящий из 49 чисел:

 

4  22  58  85  94  121  166  202  265  274  319  346  355  382  391  454  517  526  535  562  634  706  778  895  913  922  958  985  1111  1165  1219  1255  1282  1507  1633  1642  1795  1822  1858  1921  1966  2038  2155  2173  2218  2227  2326  2434  2461

 

Пока писала эту программу, возникла такая идея: зачем рассматривать цепочки с повторяющимися числами? Надо брать только те цепочки, которые составлены из разных чисел. Насколько полной будет такая проверка, не могу сообразить. Но зато как уменьшается количество вариантов на первую главную диагональ!

Покажу результаты только что проделанного эксперимента. Для показанного выше массива, состоящего из 49 чисел, сформированы все упорядоченные цепочки из разных чисел. Таких цепочек получилось всего 58. Вот они:

 

4  22  58  85  1633  2218

 4  94  121  202  1165  2434

 4  166  265  274  985  2326

 4  319  346  355  535  2461

 4  382  391  454  562  2227

 4  517  526  778  913  1282

22  58  85  94  1795  1966

 22  121  166  202  1282  2227

 22  265  274  319  706  2434

 22  346  355  382  454  2461

 22  391  517  526  922  1642

 22  535  562  778  958  1165

58  85  94  121  1507  2155

 58  166  202  265  895  2434

 58  274  319  346  562  2461

 58  355  382  391  913  1921

 58  454  517  535  634  1822

85  94  121  166  1633  1921

 85  202  265  319  922  2227

 85  274  346  355  526  2434

 85  382  391  454  535  2173

 85  517  562  706  895  1255

94  121  166  202  1111  2326

 94  265  274  319  634  2434

 94  346  355  382  922  1921

 94  391  454  517  526  2038

 94  535  562  706  958  1165

121  166  202  265  1111  2155

 121  274  319  346  526  2434

 121  355  382  391  913  1858

 121  454  517  778  895  1255

166  202  265  274  895  2218

 166  319  346  355  913  1921

 166  382  391  454  985  1642

 166  517  526  535  1111  1165

 166  562  634  778  922  958

202  265  274  319  526  2434

 202  346  355  382  517  2218

 202  391  454  562  778  1633

 202  535  634  706  958  985

265  274  319  346  355  2461

 265  382  391  454  562  1966

 265  517  526  535  895  1282

274  319  346  355  1219  1507

 274  382  391  517  535  1921

 274  454  526  562  922  1282

319  346  355  382  391  2227

 319  454  517  526  562  1642

346  355  382  391  913  1633

 346  454  517  526  535  1642

355  382  391  454  517  1921

 355  526  535  706  913  985

382  391  454  517  634  1642

 382  526  535  706  913  958

391  454  517  526  913  1219

454  517  526  535  706  1282

517  526  535  562  895  985

526  535  562  634  778  985

 

Теперь нахожу массив разных парных отклонений для заданного массива чисел. Этот массив содержит 251 отклонение:

 

-1278 -1260 -1251 -1242 -1233 -1224 -1215 -1197 -1188 -1170 -1161 -1152 -1134 -1125 -1116 -1089 -1080 -1071 -1062 -1053 -1044 -1017 -1008 -999 -990 -981 -972 -963 -954 -945 -936 -927 -909 -900 -891 -882 -873 -864 -855 -837 -828 -819 -810 -801 -792 -783 -774 -756 -747 -738 -729 -720 -711 -702 -693 -684 -675 -666 -657 -648 -639 -630 -621 -612 -603 -585 -576 -567 -558 -549 -540 -531 -513 -504 -495 -486 -477 -468 -459 -450 -441 -432 -423 -414 -405 -396 -387 -378 -369 -360 -351 -342 -333 -324 -315 -306 -297 -288 -279 -270 -261 -252 -234 -225 -216 -207 -189 -180 -171 -162 -153 -144 -135 -126 -117 -108 -99 -90 -81 -72 -63 -45 -36 -27 -9  0  9  27  36  45  63  72  81  90  99  108  117  126  135  144  153  162  171  180  189  207  216  225  234  252  261  270  279  288  297  306  315  324  333  342  351  360  369  378  387  396  405  414  423  432  441  450  459  468  477  486  495  504  513  531  540  549  558  567  576  585  603  612  621  630  639  648  657  666  675  684  693  702  711  720  729  738  747  756  774  783  792  801  810  819  828  837  855  864  873  882  891  900  909  927  936  945  954  963  972  981  990  999  1008  1017  1044  1053  1062  1071  1080  1089  1116  1125  1134  1152  1161  1170  1188  1197  1215  1224  1233  1242  1251  1260  1278

 

Далее пересекаю цепочки и отклонения. В результате работы этой программы получаются все реальные кандидаты на первую главную диагональ и соответствующие им комплекты отклонений (p1, p5, p9).

 

KOLICHESTVO KANDIDATOV NA PERVUYU DIAGONAL: 4704

 

KOLICHESTVO RAZNYH OTKLONENIY P5: 162

 

 315  900  378  963  351  936 -1260 -1233 -1197  1215  27  1188 -81 -1044 -1017 -90  1251  1260 -189  1152 -909 -900 -801 -675 -666 -486 -639 -459 -450  1278 -324 -396 -504 -567 -495 -387 -36  99  468  720  855 -45  90  459 -297  540  711  549  513  684 -1188 -1161  108  1053  144  1089  63  1008 -1053 -972 -612 -540 -603 -531  819  828  1224 -423 -27  693 -432  0  180  387  396  603  783  153  360  261  909  288  252 -1134 -1125 -180 -873 -747 -720  972 -72 -288  999 -171  1017  1116 -351 -252 -369  414  702  747  675 -1080 -99 -216 -153 -819 -756 -414  117  477  621  810 -117  72  432 -261 -63 -108  927 -360  324  531  36  1080  981  873  333  9  369 -864  756 -279  297  306  342  216 -144 -468  1233 -441 -477  1071  279 -711  81  837  234  486  225  504  864  1242  648  558  171 -315  405  792  207  423

 

KOLICHESTVO RAZNYH OTKLONENIY P9: 162

 

 963  378  900  315  936  351 -1197 -1233 -1260  27  1215  1188 -81 -1017 -1044  1260  1251 -90  1152 -189 -801 -900 -909 -450 -459 -639 -486 -666 -675 -324  1278 -396 -504 -387 -495 -567  855  720  468  99 -36  459  90 -45 -297  549  711  540  684  513 -1161 -1188  1089  144  1053  108  1008  63 -972 -1053 -531 -603 -540 -612  1224  828  819  693 -27 -423 -432  783  603  396  387  180  0  360  153  288  909  261  252 -1125 -1134 -180 -873 -720 -747  972 -72  1116  1017 -171  999 -288 -252 -351 -369  747  702  414  675 -1080 -99 -153 -216 -756 -819 -414  810  621  477  117  432  72 -117 -261 -63 -108  927 -360  531  324  1080  36  981  873  333  369  9 -864  756  306  297 -279  342  216 -144 -441  1233 -468 -477  1071  279 -711  837  81  234  486  225  864  504  1242  648  558  171 -315  792  405  207  423

 

KOLICHESTVO RAZNYH OTKLONENIY P1: 44

 

-1278 -1251  297  882 -1242 -1215 -1134 -171 -1170 -1071 -1062 -351  990  1125 -954 -882 -774  891 -819 -810 -558 -423  459  630 -945 -414  306 -801 -378  171  819 -441 -981  585 -702  486 -1017  837 -630 -81 -225 -990  702 -117

 

Несколько кандидатов на первую главную диагональ:

 

4  22  85  58  1633  2218

-1278  315  963

 4  22  2218  58  1633  85

-1278  315  963

 4  22  85  58  2218  1633

-1278  900  378

 4  22  1633  58  2218  85

-1278  900  378

 4  85  22  58  1633  2218

-1278  378  900

 4  85  2218  58  1633  22

-1278  378  900

 4  85  22  58  2218  1633

-1278  963  315

 4  85  1633  58  2218  22

-1278  963  315

 4  1633  85  58  22  2218

-1278  315  963

 4  1633  2218  58  22  85

-1278  315  963

. . . . . . . . . . . . . . . . . . . .

 

И опять здесь много одинаковых комплектов отклонений (p1, p5, p9). Об этом уже сказано выше. Но даже если рассматривать все выданные диагонали, то их не так много, всего 4704. Теперь вполне реально выполнить следующий этап – поиск второй диагонали. Этот этап даст нам полный набор комплектов базовых отклонений. Пока не проделала этот этап. Но интересно очень, что он даст.

 

Остаётся непонятным вопрос: что дают цепочки с повторяющимися числами. Можно ли их отбросить, не нарушая полноты проверки? Если ответ положительный, тогда решение задачи намного облегчается.

Однако мне кажется, что полнота проверки в таком варианте не будет соблюдена. Тогда будем считать этот вариант упрощённым вариантом алгоритма.

 

*****

 

Интересные выявились моменты в процессе обсуждения с А. Черновым результатов формирования массивов чисел для заданной магической константы.

Решила сверить полученный мной массив для магической константы 4020 с массивом, полученным Черновым. Оказалось, что наши массивы не совпадают, хотя количество чисел в них одинаково. Начала думать, почему так получилось. Всё очень просто.

 

Берём исходный массив из 54 смитов:

 

4  22  58  85  94  121  166  202  265  274  319  346  355  382  391  454  517  526  535  562  634  706  778  895  913  922  958  985  1111  1165  1219  1255  1282  1507  1633  1642  1678  1795  1822  1858  1894  1903  1921  1966  2038  2155  2173  2182  2218  2227  2326  2362  2434  2461

 

Исходный массив у нас одинаковый.

Теперь, чтобы сформировать новый массив всех чисел, которые могут принять участие в составлении квадрата с данной магической константой S, надо проверить все числа на следующие два условия (они должны выполняться одновременно):

а) число должно входить хотя бы в одну цепочку из 6 чисел с суммой чисел равной магической константе;

б) число должно входить хотя бы в один набор из 36 чисел, сумма которых равна 6*S.

 

Чернов при формировании массива проверял только условие б) и проигнорировал условие а). Я же проверяла только условие а). Условие б) не проигнорировала, а просто его сложно реализовать – очень долго выполняется проверка всех наборов по 36 чисел.

 

В результате у нас получились разные массивы.

Кроме того, я допустила в своей программе логическую ошибку: проверяла только цепочки, начинающиеся с первого, второго, третьего и т. д. чисел массива и при этом состоящие из разных чисел (все эти цепочки приведены выше). В результате я потеряла несколько чисел, которые тоже входят в цепочки.

С учётом всего сказанного исправила полученный мной массив. Он получился такой:

 

4  22  58  85  94  121  166  202  265  274  319  346  355  382  391  454  517  526  535  562  634  706  778  895  913  922  958  985  1111  1165  1219  1255  1282  1507  1633  1642  1678  1795  1822  1858  1894  1903  1921  1966  2038  2155  2182  2218  2434

 

Примечание: тут интересно получилось. В полученном мной ранее массиве было 4 числа, которые не удовлетворяют условию б) (так как я это условие не проверяла). Выбросила эти числа. В то же время я потеряла 4 числа, которые удовлетворяют условию а). Добавила эти числа. Поэтому по количеству чисел у нас массивы совпадали сразу.

 

Надо попробовать формирование массива для следующей магической константы – 4128. Чернов прислал мне полученный им массив:

 

4  22  58  85  94  121  166  202  265  274  319  346  355  382  391  454  517  526  535  562  634  706  778  895  913  922  958  985  1111  1165  1219  1255  1282  1507  1633  1642  1678  1795  1822  1858  1894  1903  1921  1966  2038  2155  2173  2182  2218  2227  2326  2362  2434  2461  2515  2578  2605  2614  2722  2839  2902  2965 

 

Но надо проверить этот массив цепочками. Вполне возможно, что в массив попали числа, которые не входят ни в одну цепочку.

 

Продолжаю проводить отдельные эксперименты. Нахожу небольшие порции комплектов отклонений и проверяю их по программе A. Сейчас проверяю магическую константу 5856.

 

*****

 

Вернулась к предыдущему алгоритму и модифицировала программу. Сделала проверку всех отклонений, предварительно сформировав массивы возможных отклонений. Это дало очень большое убыстрение выполнения программы. Напомню: массив из 36 чисел для магической константы 3912 я проверяла по этой программе около 35 часов. Теперь проверка такого массива занимает чуть более часа. Приведу пример теста модифицированной программы для магической константы 5964.

 

Это исходный массив из 36 чисел:

 

4  22  58  85  94  121  202  265  274  319  346  355  382  454  517  526  634  706  895  913  958  985  1111  1219  1255  1507  1642  1822  1894  1903  1966  2038  2515  2578  2605  2614

 

Массив разных парных отклонений:

 

-1881 -1872 -1845 -1836 -1809 -1782 -1728 -1701 -1692 -1638 -1620 -1611 -1602 -1584 -1575 -1557 -1548 -1539 -1530 -1521 -1512 -1485 -1476 -1440 -1413 -1341 -1332 -1323 -1296 -1269 -1260 -1251 -1233 -1224 -1197 -1161 -1152 -1143 -1125 -1116 -1107 -1089 -1080 -1071 -1053 -1035 -1026 -1017 -1008 -999 -981 -972 -963 -945 -936 -909 -900 -891 -882 -873 -855 -828 -819 -810 -801 -792 -774 -765 -756 -747 -738 -729 -720 -711 -684 -675 -648 -639 -621 -612 -576 -567 -549 -531 -504 -495 -486 -477 -468 -441 -423 -414 -396 -378 -369 -360 -351 -342 -324 -315 -297 -288 -261 -252 -243 -225 -216 -180 -171 -162 -144 -135 -126 -117 -108 -99 -81 -72 -63 -45 -36 -27 -18 -9  0  9  18  27  36  45  63  72  81  99  108  117  126  135  144  162  171  180  216  225  243  252  261  288  297  315  324  342  351  360  369  378  396  414  423  441  468  477  486  495  504  531  549  567  576  612  621  639  648  675  684  711  720  729  738  747  756  765  774  792  801  810  819  828  855  873  882  891  900  909  936  945  963  972  981  999  1008  1017  1026  1035  1053  1071  1080  1089  1107  1116  1125  1143  1152  1161  1197  1224  1233  1251  1260  1269  1296  1323  1332  1341  1413  1440  1476  1485  1512  1521  1530  1539  1548  1557  1575  1584  1602  1611  1620  1638  1692  1701  1728  1782  1809  1836  1845  1872  1881

 

KOLICHESTVO RAZNYH PARNYH OTKLONRNIY =  249

 

Выбираю отклонения для p9:

 

KOLICHESTVO ZNACHENIY P9: 18

 

-1782 -1638 -1602 -1530 -1089 -1071 -1026 -999 -873 -765 -729 -477 -342 -162 -81 -18  531  621

 

Нахожу все цепочки с первого числа массива. Цепочек получилось 515.

 

Проверяю отклонения цепочками:

 

KOLICHESTVO KANDIDATOV NA PERVUYU DIAGONAL: 22248 (эта информация в данном алгоритме не нужна, она для нового алгоритма)

 

KOLICHESTVO RAZNYH OTKLONENIY P5: 239

 

-1881 -1332  648 -1269  711  1260 -144  549 -72  621 -1872  1341 -1845  612 -1233  1224  639  1143 -63  1845  117  828 -747 -567  792 -711 -531  0  1233  1782  180  729  882  891 -1701 -1512  1080 -468  72  324  801 -1692 -855  1161 -324 -1440 -1143  909  225  945  936  1026  1701  261 -1620  1089  1638  873  981 -1611  9  1692  963  1530  999 -1584  1602  360 -981 -621  1053  216  1071 -1053 -549  423  351 -486  441  1152 -1071  1521  819 -477 -135  1809  1413 -1260  1323 -297 -171  1332  477  414 -1008  1485  1548  1017  162  378  1881  1584  81  1197  1620  765  342  1476  486 -1296  675  108 -675 -639  144  1107 -1728 -1413 -27  36  855 -1476  684  315 -504 -945 -729  900 -819 -36 -495  369 -288  396 -1017 -108 -423 -1548  288 -1035  504  1557  1575 -972  1116 -243  45  1296 -1224  756  1512  126  1035  1440 -1782  738  1251  135 -792 -756  171 -9 -648 -612  27 -261 -396 -360 -225 -1638 -1521  63 -684 -1557  1539  1008  1611 -81 -1197  576 -369  18  810 -117  1269  774  1125  720 -1341  252 -252 -936 -765 -1539 -1251 -378 -126 -909 -999  468  1728  1872  747 -1602  99 -882  972 -720 -45 -576 -1161  243 -873 -810 -801 -738 -1323  297 -891 -774 -828 -99 -351 -315 -1152 -1080 -216 -162 -414 -1089  1836 -963 -900  495 -180  567 -1125 -1116 -1107

 

KOLICHESTVO RAZNYH OTKLONENIY P1: 239

 

 1260  711 -1269  648 -1332 -1881  621 -72  549 -144  1341 -1872  1224 -1233  612 -1845  1143  639  1845 -63  828  117 -567 -747  792 -531 -711  1782  1233  0  729  180  891  882  1080 -1512 -1701 -468  801  324  72  1161 -855 -1692 -324  909 -1143 -1440  945  225  936  1701  1026  261 -1620  1638  1089  873  981 -1611  1692  9  1530  963  999 -1584  1602  360 -621 -981  1053  216  1071 -1053 -549  423  351 -486  1152  441  1521 -1071  819 -477  1809 -135  1413 -1260  1323 -297  1332 -171  477  414  1548  1485 -1008  1017  162  1881  378  1584  81  1620  1197  765  342  1476  486  675 -1296  108  144 -639 -675  1107 -1413 -1728 -27  36  855 -1476  315  684 -504 -729 -945  900 -819 -36 -495  369 -288  396 -1017 -108 -423  288 -1548  504 -1035  1557  1575 -972  1116 -243  45  1296 -1224  756  1512  126  1035  1440  1251  738 -1782  135  171 -756 -792 -9  27 -612 -648 -261 -396 -225 -360 -1638 -1521  63 -684 -1557  1539  1008  1611 -81  576 -1197 -369  18  810 -117  1269  774  1125 -1341  720  252 -252 -765 -936 -1251 -1539 -378 -126 -909 -999  468  1728  1872  747 -1602  99 -882  972 -720 -45 -576 -1161  243 -810 -873 -738 -801 -1323  297 -774 -891 -828 -99 -351 -315 -1080 -1152 -162 -216 -414 -1089  1836 -963 -900  495 -180  567 -1125 -1116 -1107

 

KOLICHESTVO RAZNYH OTKLONENIY P9: 18

 

 621 -477  531 -1782 -765 -81 -729 -18 -1530 -873 -162 -1638 -1602 -1071 -999 -1089 -342 -1026

 

Интересно отметить, что массивы для отклонений p1 и p5 получаются одинаковые.

 

Выполнила программу полностью для этого массива.

Вот какие построились квадраты:

 

1903  517  265  1966  58  1255

 985  2515  274  319  913  958

 121  382  1111  2605  526  1219

 22  1894  634  85  1507  1822

 2578  202  2038  94  346  706

 355  454  1642  895  2614  4

 

 2578  202  2038  94  346  706

 22  1894  634  85  1507  1822

 121  382  1111  2605  526  1219

 985  2515  274  319  913  958

 1903  517  265  1966  58  1255

 355  454  1642  895  2614  4

 

 58  1966  265  517  1903  1255

 913  319  274  2515  985  958

 526  2605  1111  382  121  1219

 1507  85  634  1894  22  1822

 346  94  2038  202  2578  706

 2614  895  1642  454  355  4

 

 346  94  2038  202  2578  706

 1507  85  634  1894  22  1822

 526  2605  1111  382  121  1219

 913  319  274  2515  985  958

 58  1966  265  517  1903  1255

 2614  895  1642  454  355  4

 

 58  913  526  1507  346  2614

 1966  319  2605  85  94  895

 265  274  1111  634  2038  1642

 517  2515  382  1894  202  454

 1903  985  121  22  2578  355

 1255  958  1219  1822  706  4

 

 1903  985  121  22  2578  355

 517  2515  382  1894  202  454

 265  274  1111  634  2038  1642

 1966  319  2605  85  94  895

 58  913  526  1507  346  2614

 1255  958  1219  1822  706  4

 

 346  1507  526  913  58  2614

 94  85  2605  319  1966  895

 2038  634  1111  274  265  1642

 202  1894  382  2515  517  454

 2578  22  121  985  1903  355

 706  1822  1219  958  1255  4

 

 2578  22  121  985  1903  355

 202  1894  382  2515  517  454

 2038  634  1111  274  265  1642

 94  85  2605  319  1966  895

 346  1507  526  913  58  2614

 706  1822  1219  958  1255  4

 

И ещё одно улучшение для этого алгоритма предложил А. Чернов. Оно состоит в следующем. В алгоритме фиксируется один элемент, этот элемент помещается в угловую ячейку квадрата (правую нижнюю). Фиксировать можно любой элемент. Я всегда фиксировала минимальный элемент массива. А. Чернов предложил фиксировать максимальное число массива. В этом случае программа выполняется намного быстрее. Дело в том, что с максимальным числом меньше получается цепочек. Однако не всегда. В одном эксперименте (для магической константы 4020) у меня, в самом деле, программа выполнилась намного быстрее при фиксировании максимального элемента. А в другом эксперименте (для магической константы 5964) никакого убыстрения не получилось. Тут, наверное, надо делать так: фиксировать тот элемент, который даёт меньше всего цепочек. Но для этого надо проверить, сколько цепочек даст каждый из 36 элементов массива. Ну, можно начать проверку с больших чисел, проверить штук 10 и выбрать тот элемент, который дал меньше всего цепочек.

 

Теперь перехожу к вопросу формирования массивов из 36 чисел. Выше было рассказано о том, как находить полный набор чисел, которые могут принять участие в составлении квадрата с заданной магической константой. Тут надо сделать поправку. Первое условие для чисел массива сформулировано так:

 

а) число должно входить хотя бы в одну цепочку из 6 чисел с суммой чисел равной магической константе.

 

Легко увидеть, что этого недостаточно. Посмотрим на пандиагональный квадрат (рис. 10):

 

1903

517

265

1966

58

1255

985

2515

274

319

913

958

121

382

1111

2605

526

1219

22

1894

634

85

1507

1822

2578

202

2038

94

346

706

355

454

1642

895

2614

4

 

Рис. 10

 

Очевидно, что любой элемент квадрата принадлежит одновременно трём цепочкам (строка – столбец – диагональ), в которых все элементы (кроме данного) различны. Например, элемент 517 принадлежит таким трём цепочкам:

 

1903 517 265 1966 58 1255

517 2515 382 1894 202 454

517 985 1219 1507 94 1642

 

Написала программу проверки этого условия. В массиве для магической константы 4020 все числа этому условия удовлетворяют.

А вот в массиве для магической константы 4128 три числа не удовлетворили этому условию: 2839, 2902, 2965; выбросила их. В результате массив для этой магической константы получился такой (59 чисел):

 

4  22  58  85  94  121  166  202  265  274  319  346  355  382  391  454  517  526  535  562  634  706  778  895  913  922  958  985  1111  1165  1219  1255  1282  1507  1633  1642  1678  1795  1822  1858  1894  1903  1921  1966  2038  2155  2173  2182  2218  2227  2326  2362  2434  2461  2515  2578  2605  2614  2722

 

*****

 

Поскольку у меня нет программы, проверяющей сразу весь массив чисел, пришлось решать задачу формирования массивов по 36 чисел. Эта задача тоже оказалась интересной. К тому же, она навела на интересный алгоритм.

 

Итак, возьмём сформированный полный массив чисел для магической константы 4020, он состоит из 49 чисел:

 

4  22  58  85  94  121  166  202  265  274  319  346  355  382  391  454  517  526  535  562  634  706  778  895  913  922  958  985  1111  1165  1219  1255  1282  1507  1633  1642  1678  1795  1822  1858  1894  1903  1921  1966  2038  2155  2182  2218  2434

 

Как же из чисел этого массива формировать массивы по 36 чисел? Тут должны выполняться такие условия:

А. все числа массива различны;

В. сумма всех чисел массива равна 6*S (S – магическая константа квадрата);

С. все числа массива можно разбить (хотя бы одним способом) на 9 групп по 4 числа так, что сумма чисел в каждой группе равна 2*S/3;

D. все числа массива можно разбить (хотя бы одним способом) на 4 группы по 9 чисел так, что сумма чисел в каждой группе равна 3*S/2.

 

Очевидно, что условие В следует из условия С и из условия D, но для порядка приведено. Все 4 условия должны выполняться одновременно.

 

Вот, например, массив из 36 чисел, сформированный Черновым:

 

4  22  58  85  94  121  166  202  265  274  319  346  355  382  391  454  517  526  535  562  634  706  778  895  913  922  958  985  1111  1165  1219  1255  1282  1507  1678  2434

 

Одно из разбиений этого массива на 9 групп по 4 числа (дальше буду говорить: разбиение на четвёрки):

 

 517  526  1255  382

 535  985  706  454

 562  1678  94  346

 634  778  913  355

 895  1507  4  274

 922  202  1165  391

 958  319  1282  121

 22  166  2434  58

 1111  1219  85  265

 

Одно из разбиений этого массива на 4 группы по 9 чисел (дальше буду говорить: разбиение на девятки):

 

 382  391  454  517  526  535  562  985  1678

 634  706  778  895  913  922  958  22  202

 1111  1165  1219  1255  94  166  319  346  355

 1282  1507  2434  4  58  85  121  265  274

 

Много ли будет таких массивов по 36 чисел? Как их все быстро найти? Можно предложить такой путь: искать все наборы по 4 девятки из различных чисел (условие D), каждый такой набор собственно является массивом из 36 чисел; затем проверять каждый набор девяток на выполнение условия С. Условие В, как уже сказано, выполнится автоматически. Мне удалось с ходу найти такие 8 наборов девяток:

 

№ 1

265  274  319  346  355  382  391  1795  1903

 454  517  526  535  562  634  706  985  1111

 778  895  913  922  958  1219  22  121  202

 1165  1255  1282  1921  4  58  85  94  166

 

№ 2

 346  355  382  391  454  517  526  1165  1894

 535  562  634  706  778  895  913  922  85

 958  985  1111  1219  1255  4  22  202  274

 1282  1507  2218  58  94  121  166  265  319

 

№ 3

 355  382  391  454  517  526  562  922  1921

 535  634  706  778  895  913  958  265  346

 985  1111  1165  1219  1255  22  58  94  121

 1282  1795  1903  4  85  166  202  274  319

 

№ 4

 382  391  454  517  526  535  562  985  1678

 634  706  778  895  913  922  958  22  202

 1111  1165  1219  1255  94  166  319  346  355

 1282  1507  2434  4  58  85  121  265  274

 

№ 5

 391  454  517  526  535  562  634  778  1633

 706  895  913  922  958  985  4  265  382

 1111  1165  1219  1255  58  202  319  346  355

 1507  1795  1966  22  85  94  121  166  274

 

№ 6

 454  517  526  535  562  634  706  985  1111

 778  895  913  922  958  1165  4  121  274

 1219  1255  1282  1507  22  58  94  202  391

 1678  2434  85  166  265  319  346  355  382

 

№ 7

 517  526  535  562  634  706  778  1507  265

 895  913  922  958  985  1111  22  58  166

 1165  1219  1255  1282  4  85  274  355  391

 1678  2434  94  121  202  319  346  382  454

 

№ 8

 535  562  634  706  778  895  913  922  85

 958  985  1111  1165  1219  4  121  202  265

 1255  1282  1507  22  274  319  391  454  526

 1678  2434  58  94  166  346  355  382  517

 

Я написала пока только простенькую программку для формирования наборов девяток. Понятно, что таких наборов будет очень много. Но как много? Для ответа на этот вопрос надо делать нормальную программу.

Кстати, отмечу, что массив, сформированный Черновым, я проверила по модифицированной программе. Программа выполнялась всего 73 минуты (зафиксировала элемент 2434). Квадрат  не найден.

Вот, проверен только один массив из 36 чисел. А сколько их будет всего?

 

Теперь расскажу, какая идея пришла во время работы с девятками.

Пусть мы имеем некоторое разбиение массива из 36 чисел на девятки:

 

a1, a2, a3, a4, a5, a6, a7, a8, a9

b1, b2, b3, b4, b5, b6, b7, b8, b9

c1, c2, c3, c4, c5, c6, c7, c8, b9

e1, e2, e3, e4, e5, e6, e7, e8, e9

 

Если пандиагональный квадрат из чисел данного набора девяток составляется, то только так, что девятки будут размещаться в решётках Россера (рис. 11). Каждая решётка окрашена одинаковым цветом.

 

a

b

a

b

a

b

c

e

c

e

c

e

a

b

a

b

a

b

c

e

c

e

c

e

a

b

a

b

a

b

c

e

c

e

c

e

 

Рис. 11

 

Я не проставила индексы элементов девяток, потому что элементы будут расположены в таком порядке, который надо определить. В этом и состоит идея перебора по девяткам.

 

Модифицирую ту же самую программу. Только теперь перебор идёт не по всем числам массива, а только по девяткам. Так что каждый свободный элемент пробегает только 9 значений, а элементы девятки (ei) только 8 значений, потому что один элемент этой девятки мы фиксируем (элемент в правом нижнем углу).

Конечно, снова подключаю массивы возможных отклонений и в процессе вычисления отклонений в программе проверяю их на принадлежность соответствующим массивам.

 

Метод оказался очень эффективным. Перебор выполняется за 3-5 секунд.

 

Приведу пример. Возьмём такой набор девяток (магическая константа 5964):

 

382  391  454  517  526  634  1858  1966  2218

265  346  355  562  895  913  1795  1894  1921

121  166  274  535  985  1111  1219  1633  2902

22  94  202  319  922  1282  1642  1678  2785

 

Интересно отметить, что для отклонений p1, p3, p5, p7 будет один массив значений; для отклонений p2, p4, p6, p8 – другой массив значений; и для отклонения p9 – третий массив значений. При этом все значения проверяются на принадлежность общему массиву разных парных отклонений, который для данного массива из 36 чисел такой:

 

-1872 -1773 -1764 -1728 -1701 -1692 -1665 -1620 -1611 -1584 -1575 -1548 -1539 -1512 -1503 -1485 -1476 -1449 -1440 -1431 -1368 -1359 -1341 -1332 -1323 -1314 -1305 -1296 -1287 -1269 -1260 -1251 -1233 -1215 -1197 -1188 -1179 -1152 -1143 -1125 -1116 -1089 -1080 -1071 -1062 -1044 -1035 -1017 -1008 -999 -981 -972 -963 -936 -927 -909 -900 -891 -873 -864 -855 -828 -819 -801 -792 -783 -756 -747 -729 -720 -702 -684 -675 -639 -621 -612 -603 -585 -576 -567 -558 -549 -540 -513 -504 -495 -468 -459 -450 -441 -432 -423 -387 -369 -360 -351 -342 -333 -324 -315 -288 -261 -252 -243 -225 -216 -207 -189 -180 -171 -153 -144 -135 -108 -99 -81 -72 -45 -36 -27 -9  0  9  27  36  45  72  81  99  108  135  144  153  171  180  189  207  216  225  243  252  261  288  315  324  333  342  351  360  369  387  423  432  441  450  459  468  495  504  513  540  549  558  567  576  585  603  612  621  639  675  684  702  720  729  747  756  783  792  801  819  828  855  864  873  891  900  909  927  936  963  972  981  999  1008  1017  1035  1044  1062  1071  1080  1089  1116  1125  1143  1152  1179  1188  1197  1215  1233  1251  1260  1269  1287  1296  1305  1314  1323  1332  1341  1359  1368  1431  1440  1449  1476  1485  1503  1512  1539  1548  1575  1584  1611  1620  1665  1692  1701  1728  1764  1773  1872

 

KOLICHESTVO RAZNYH PARNYH OTKLONRNIY =  243

 

Покажу и массивы для всех отклонений.

 

KOLICHESTVO ZNACHENIY P1, P3, P5, P7: 94

 

-1692 -1575 -1512 -1503 -1440 -1368 -1332 -1287 -1269 -1260 -1215 -1152 -1143 -1089 -1080 -1071 -1035 -1017 -1008 -972 -963 -900 -864 -828 -747 -684 -675 -612 -549 -540 -504 -432 -387 -324 -315 -252 -216 -189 -180 -144 -108 -72 -36 -27  9  36  45  72  81  108  144  171  180  189  207  216  252  261  288  324  360  369  387  432  495  504  549  576  612  621  684  747  756  792  864  891  900  936  972  999  1116  1152  1179  1188  1251  1260  1314  1323  1332  1431  1512  1548  1620  1872

 

KOLICHESTVO ZNACHENIY P2, P4, P6, P8: 95

 

-1701 -1548 -1512 -1476 -1449 -1368 -1359 -1332 -1305 -1287 -1260 -1188 -1179 -1152 -1080 -1071 -972 -927 -909 -891 -828 -819 -801 -756 -747 -729 -720 -612 -603 -558 -540 -513 -504 -495 -468 -441 -423 -342 -315 -207 -189 -180 -108 -81 -72 -27 -9  0  27  36  72  81  99  108  144  153  171  180  207  216  252  261  288  342  369  441  468  495  540  558  702  720  756  792  801  819  828  864  891  1017  1035  1044  1080  1125  1152  1179  1188  1260  1269  1440  1449  1476  1539  1701  1728

 

KOLICHESTVO ZNACHENIY P9: 35

 

-1584 -1575 -1512 -1449 -1440 -1332 -1215 -1152 -1143 -1089 -1080 -1071 -1017 -1008 -972 -963 -900 -828 -108  0  252  261  324  360  369  387  432  495  504  612  621  684  747  756  864

 

Программа выполнилась за 5 секунд. Квадраты построились такие (рис. 12 – 13):

 

517

1795

454

1921

382

895

166

922

535

1282

274

2785

526

913

1966

346

1858

355

1219

1678

985

319

121

1642

634

562

391

1894

2218

265

2902

94

1633

202

1111

22

 

Рис. 12

 

634

562

391

1894

2218

265

1219

1678

985

319

121

1642

526

913

1966

346

1858

355

166

922

535

1282

274

2785

517

1795

454

1921

382

895

2902

94

1633

202

1111

22

 

Рис. 13

 

Здесь ещё нужно заметить, что девятки в наборе можно переставлять, кроме четвёртой девятки. Поскольку мы фиксируем элемент этой девятки, то и сама девятка получается фиксированной, то есть она всегда будет размещаться в одной и той же решётке (решётка жёлтого цвета). Таким образом, имеем 6 перестановок девяток. Я проверила в этом примере все перестановки девяток. Квадрат построился только при перестановке 2-ой и 3-ей девяток, причём он получился эквивалентным квадрату, изображённому на рис. 12 (отражение относительно главной диагонали). Смотрите этот квадрат на рис. 14.

 

517

166

526

1219

634

2902

1795

922

913

1678

562

94

454

535

1966

985

391

1633

1921

1282

346

319

1894

202

382

274

1858

121

2218

1111

895

2785

355

1642

265

22

 

Рис. 14

 

Так как нам достаточно найти всего один квадрат, то переставлять девятки придётся в том случае, когда квадрат из основного набора не найден. При этом очевидно, что перестановка 2-ой и 3-ей девяток даёт эквивалентный квадрат (см. пример на рис. 13). Все варианты перестановок:

 

1) 1-2-3-4 (основной набор)

2) 1-3-2-4 (даёт эквивалентный квадрат)

3) 2-1-3-4

4) 2-3-1-4

5) 3-1-2-4

6) 3-2-1-4

 

Итак, есть очень эффективная программа проверки наборов девяток. Теперь вопрос за формированием таких наборов. Это оказалось не очень просто сделать. Поэтапно я это делаю, а для формирования всех наборов девяток нужна хорошая программа, которой у меня пока нет.

 

Сколько окажется таких наборов? Если их будет очень много (порядка нескольких сотен тысяч), то для их проверки опять же потребуется много времени, даже притом что один набор проверяется 3-5 секунд.

Таким образом, полная проверка каждой потенциальной магической константы мне опять не удаётся.

Могу проверить несколько наборов девяток. Например, приведённые выше наборы девяток для магической константы 4020 проверила, каждый набор проверился за 3 секунды, квадрат не найден.

 

 

Продолжение, возможно, следует

 

 

Веб-сайты

 

1. Научный форум dxdy.ru. Тема «Магические квадраты». http://dxdy.ru/topic12959.html  

            2. Нетрадиционные пандиагональные квадраты (часть II). http://www.natalimak1.narod.ru/pannetr1.htm

3. Нетрадиционные пандиагональные квадраты (часть I). http://www.natalimak1.narod.ru/pannetr.htm

4. С. В. Беляев. Магические квадраты. http://svb.hut.ru/mag.htm  

5. Статья в OEIS «Последовательность магических констант наименьших пандиагональных квадратов из простых чисел». https://oeis.org/A179440

6. Конкурс «Нетрадиционные пандиагональные квадраты» на форуме dxdy.ru. http://dxdy.ru/topic38320.html

 

 

4 - 18 мая  2011 г.

г. Саратов

 

На главную страницу

http://www.klassikpoez.narod.ru/index.htm

 

Пишите мне:

natalimak1@yandex.ru

QIP 571-379-327

 



Hosted by uCoz