Судоку - инструкция. Решение диагонального судоку

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

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

Сначала, как обычно, воспользуемся приёмом 1 - перебираем все цифры по порядку с поиском свободных ячеек для них.

Цифры 1,2 ничего не дают.

Цифра 3 - для неё занят столбец 7, а также диагональ, которая занимает ячейки A9, B8. Таким образом, цифра 3 может находиться в ячейках B9, C8, куда мы и помещаем чёрточки, указывающие на  цифру 3.

Для цифры 4 - строки D, F заняты, столбец 2 занят, а вот ячейка E1 свободна - записываем туда цифру 4. После этого в нижней клетке оказывается, что заняты столбцы 1 и 2, а также строка I, но в двух возможных ячейках G3 и H3 проставляем чёрточки-указатели на цифру 4. Также в верхней клетке по центру занята строка A, а также столбцы 4, 5, поэтому пара возможных положений цифры 4 находится в ячейках D6 C6, отмечаем их чёрточками.

Цифра 5 занимает столбцы 5 и 6, но может находиться в ячейках G4 и H4, отмечаем это значками по центру ячеек.

Цифра 6 занимает столбцы 1 и 2, но может находиться в ячейках D3, F3 - отмечаем её чёрточками. Аналогично, цифра 6 занимает столбцы 8 и 9, но может находиться в ячейках D7, F7 - также отмечаем это чёрточками.

Цифра 7 занимает столбцы 8 и 9, а также строку F. Для неё возможна только позиция D7. Записываем её.  Но в этой ячейке есть также указатель на цифру 6 - записываем цифру 6 в парную ячейку F7. И поскольку строка F теперь занята, то в левой клетке вписываем 6 в ячейку D3.

Возвращаемся к цифре 7 - теперь она занимает строки D и F, для неё возможная ячейка только E2, записываем туда  цифру 7.

Теперь проверяем верхнюю левую клетку. Там для цифры 7 есть 4 возможных расположения. Но есть ещё проверка диагонали. Видим, что цифра 7 уже находится в центральной клетке и в нижней правой - значит, там цифра 7 не может располагаться по диагонали, она может находиться только в верхней левой клетке в ячейке A1 - другие ячейки пересекает столбец 2 и строка C, содержащие цифру 7. Записываем цифру 7 в ячейку A1.

Теперь обратимся к нижней правой клетке - там для цифры 7 заняты столбцы 1 и 2, строка I, а также диагональ (ячейка F4), так что остаётся только ячейка H3, куда мы и записываем 7. Но там находится значок цифры 4 - записываем цифру 4 в парную ячейку G3.

Осталось проверить позиции цифры 7 в верхней клетке по центру: там заняты строки A, C  и столбец 4 - отмечаем возможные положения цифры 7 чёрточками в ячейках B5, B6.
Аналогично в нижней клетке по центру заняты строки H, I и столбец 4, отмечаем возможные положения цифры 7 чёрточками в ячейках G5, G6.

Цифра 8 не даёт уточнений.

Цифра 9 в верхней левой клетке может занимать ячейки B1 и C2, так как остальные линии заняты: столбец 3 и диагональ. Отмечаем позиции 9 чёрточками.

Перед тем, как вернуться к новому циклу проверок, обратим внимание на очевидные вещи.
Так замечаем, что в строке D не хватает двух цифр 1 и 8. Можно их сразу заполнить. Поскольку строка F уже занята цифрой 1, то в левой клетке ставим её в ячейку D2. А для цифры 8 остаётся ячейка D8. Записываем их.

Следующее: в строке E, в центральной ячейке, находятся недостающие цифры 2, 6, 8. Цифру 2 можно отметить чёрточками в двух возможных позициях E4, E5.

Значит, в остающихся двух ячейках в строке E (E8, E9) могут быть только цифры 1 и 5. Отмечаем их крестиками в позициях цифр 1 и 5. Применим приём связанных ячеек. Теперь в этой клетке не хватает одной цифры 2, вписываем её в ячейку F8.

Снова обратимся к левой клетке в средней линии - там не хватает двух цифр 5 и 8, отметим их крестиками - признак двух связанных ячеек F2, F3.
 
Теперь просмотрим диагональ I1-A9.
Там цифра 6 находится в нижней левой и верхней правой клетке - значит цифра 6 на диагонали может появиться только в центральной клетке, в ячейке E5, так как строки D и F уже заняты. Так как в этой ячейке есть указатель на цифру 2, то вписываем её в парную ячейку E4, а оставшуюся цифру 8 в ячейку E6.

Отмечаем чёрточками на этой диагонали возможные позиции цифры 8 - ячейки C7, A9.

Проверим диагональ A1-I9, ищем возможные позиции цифр. Цифра 4 уже есть в верхнем и среднем квадрате, а в нижнем строки G,I для неё заняты, остаётся только ячейка H8, отмечаем позицию цифры 4 в этой ячейке.

Первый обход по полю мы завершили, выявили очевидные решения по пересечениям строк, столбцов, диагоналей. Теперь надо повторить те же действия на основе более плотно заполненного поля, начиная с цифры 1 и до 9. Когда возможности этих простых приёмов будут исчерпаны, будем проводить более пристальный анализ для каждой зоны: клетка, строка, столбец, диагональ, отдельная ячейка - как это было описано в перечисленных выше приёмах. По мере заполнения поля цифрами снова будем возвращаться к началу цикла - к простым приёмам.

Итак, снова начнём с цифры 1.
В верхней левой клетке занята строка A, столбец 2 и диагональ, так что возможные позиции для цифры 1 - ячейки B1 и B3 - отмечаем их чёрточками. Получается, что теперь цифрой 1 заняты строки A и B, поэтому в верхней правой клетке возможные позиции цифры 1 - ячейки C7 и C8, отмечаем их чёрточками.

Цифра 2. В нижней левой клетке занята строка I и столбец 1, для цифры 2 возможное расположение в ячейках G2, H2 - отмечаем их чёрточками.

Цифра 3. В нижней левой клетке занят столбец 1 и диагональ. Возможное расположение цифры 3 отмечаем чёрточками в ячейках G2, I3.

Цифра 4. В верхней правой клетке занята строка A, столбцы 8, 9 и диагональ. Поэтому остаётся одна доступная ячейка B7, вписываем туда цифру 4. Соответственно в соседней слева клетке вписываем 4 в парную ячейку С6. С цифрой 4 полностью всё определено.

Цифра 5 - пока без уточнений.

Цифра 6. В верхней ячейке по центру заняты строки A и С, а также столбец 5, возможные ячейки для цифры 6 - B4, B6 - отмечаем чёрточками. Аналогично в нижней клетке по центру заняты строки G, I, а также столбец 5, возможные ячейки для цифры 6 - H4 и H6, отмечаем их чёрточками.

Цифры 7, 8 и 9 - пока без уточнений.

Проверка диагоналей добавила определённостей:
Проверка диагоналей добавила определённость:
- в диагонали A1-I9 для цифры 2 есть парные ячейки C3 и G7, отметим их чёрточками.
- в диагонали I1-A9 для цифры 2 есть парные ячейки A9 и H2, отметим их чёрточками.

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

Ещё раз проведём цикл поиска по цифрам от 1 до 10.
Цифра 3 может появиться в ячейках A3, A5, отметим её чёрточками.
Не густо, но и на том спасибо.

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

Эта задача может решаться графически - точками на поле судоку. Но можно составить таблицу: адрес ячейки - цифры, которые могут там появиться. В данном случае я воспользуюсь таблицей - так удобнее объяснять материал.

Перебор по ячейкам

A3    2 3         8
A5    2 3         8 9
A7    2           8 9
A9    2           8   

B1  1       5       9 
B2    2 3   5     8  
B3  1 2 3   5     8
B4      3     6   8
B5    2 3       7 8 9
B6            6 7   9
B8  1       5       9    
B9  1 2 3   5     8

C2    2 3   5     8 9
C3    2 3   5     8
C4      3         8   
C5    2 3         8 9
C7  1 2     5     8 9
C8  1   3   5       9    

E8  1       5          хх
E9  1       5          хх

F2          5     8    хх
F3          5     8    хх

G2    2 3   5       9
G4      3   5         
G5  1 2 3       7   9
G6              7   9
G7    2     5         
G8  1   3   5   7   9

H1  1       5       9 
H2    2     5       9
H4      3   5 6   8    
H5  1 2 3         8 9
H6            6     9 
H7  1 2     5     8 9
H9  1 2 3   5     8    

I1  1       5       9 
I3  1   3   5        
I5  1   3         8 9
I7          5     8 9    
I9      3   5     8    

Анализируя эту таблицу, переходим к поиску тройных связанных ячеек.
Сначала посмотрим на рисунок чисто визуально - ищем незанятые три ячейки.
Столбец 1 - цифры 1,5,9 в ячейках B1, H1, I1 - это тройная связка. Но поскольку других свободных ячеек в строке нет, то и применить нашу находку не к чему. Ведь связки ячеек полезны не сами по себе, а чтобы вычленить оставшиеся и определить их.

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

Итак - тупик, никакого продвижения? Но есть ещё две необследованные зоны - это диагонали!

Проверим диагональные зоны.

Диагональ I1-A9
I1  1       5       9    ххх
H2    2     5       9
C7  1 2     5     8 9    ххх
B8  1       5       9    ххх
A9    2           8 хх

Мы видим признаки трёх связанных ячеек I1, C7, B8, содержащих цифры 1, 5, 9. Но подвели цифры 5 и 9 они могут находиться ещё и в ячейке H2. Будем иметь в виду эту тройку, вдруг позже пригодится.

Диагональ A1-I9
B2    2 3   5     8 ххх
C3    2 3   5     8 ххх
G7    2     5       хх
I9      3   5     8 ххх

Мы видим признаки трёх связанных ячеек B2, C3, I9, содержащих цифры 3, 5, 8. Отметим их позиции крестиками.

Строго говоря, мы не могли бы определить эти ячейки как тройные-связанные. На диагонали A1-I9 цифра 5 может появиться ещё и в ячейке G7, но это не обязательно, там вполне может оказаться цифра 2.

Так или иначе, вариантов у нас нет - это единственный шанс продвинуться, и мы его используем.

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

Ячейка C3 - в ней связанная тройка цифр вытеснила цифру 2, которую записываем в парную (по диагонали) ячейку G7. Ну вот и благоприятное решение вопроса! На самом деле, теперь возможное появление цифры 5 в ячейке G7 исключено, теперь цифра 5 находится только в одной из трёх связанных ячеек по диагонали - всё по правилам!

Это было самое узкое место на пути решения. Ну а далее всё пойдёт как по маслу.

Как обычно, записывая какую-либо цифру, мы проверяем её расположение в других зонах поля.
Проверим позицию цифры 2. Записываем цифру 2 в ячейки H2. Затем отмечаем чёрточками возможное расположение цифры 2 в ячейках A3 и B3, следом выявляется пара B3 и B9, отмечаем эти позиции чёрточками. Теперь оказалось, что возможные положения цифры 2 находятся в строках A и B в левой и правой клетке в верхнем ряду (см. Приём 3), значит записываем цифру 2 в ячейку C5.

Проверяем диагональ I1-A9. После того, как мы вписали туда цифру 2, в ней осталось 4 незаполненные ячейки, три из которых связанные, а в оставшуюся ячейку A9 мы вписываем недостающую цифру 8 (приём связанных ячеек).

Вытесненную из ячейки A9 цифру 2 записываем в ячейку B9, а затем записываем цифру 2 в ячейку A3.
В ячейке B9 цифра 2 вытеснила цифру 3 - записываем её в парную ячейку C8. Цифра 3 вытеснила цифру 1, записываем 1 в парную ячейку C7.

Ещё раз просматриваем позиции для цифр, которые мы вписали - 3, 8.
Для цифры 3 отмечаем чёрточками её возможные позиции в ячейках B3, H9.
Проверяем цифру 8. Отмечаем чёрточками её возможное расположение в ячейках H7, I7.

После добавления цифр и значков снова просматриваем рисунок на наличие небольших незаполненных зон, в которых решение очевидно.
В строке A видим две незаполненные ячейки, записываем туда цифры 3 и 9.
Отмечаем чёрточкой возможное расположение цифры 3 в ячейке H4.

Проверяем цифру 9. Записываем её в ячейку G8. Отмечаем чёрточками её возможное расположение в ячейках B5, B6.

Поскольку в правой верхней клетке осталась одна незаполненная ячейка B8, вписываем туда цифру 5. А в последнюю незаполненную ячейку диагонали I1 вписываем цифру 9.

Снова проверяем поле на цифры 5 и 9.

Цифра 5. Вписываем её в ячейку E9, и поскольку она вытесняет цифру 1, то вписываем 1 в парную ячейку E8. Делаем для цифры 5 отметки-чёрточки в позициях, где она может появиться - это ячейки H7, I7, а также C2.

Делаем проверку для цифры 9. В верхней левой клетке она могла бы располагаться в ячейках B2 и C2, но ячейка B2 занята - она в тройной связке, поэтому записываем цифру 9 в ячейку C2.
Также отмечаем чёрточкой для цифры 9 её возможное расположение в ячейке H5.

Теперь проверим позиции цифры 1 (она также недавно была дополнена). Вписываем 1 в ячейку
H9, затем I3, затем G5, затем B1 - каждый раз при заполнении в одной ячейке появляется определённость в следующей.

Заметим, что при записи цифры 1 она вытесняла из ячейки какую-либо парную цифру, запишем также их. В ячейки I9, G2 вставляем цифру 3.

Из ячейки G5 цифра 1 вытеснила цифру 7, вписываем 7 в парную ячейку G6. При этом цифра 7 вытеснила цифру 9, вставляем её в парную ячейку H5.

Тут требуется уточнение. Хотя в этой клетке есть ячейка H6 с крестиком в позиции цифры 9 - но это не парная для цифры 9, а просто возможное размещение наряду с цифрой 6 - и ничего другого. Соответственно, когда цифра 9 появилась в клетке, то теперь в ячейку H6 вписываем цифру 6.
Вписываем последнюю цифру 9 в ячейку B6, а последнюю цифру 6 в ячейку B4.

Снова настало время осмотреться.
В нижней левой клетке заполняем последнюю пустующую ячейку H1 цифрой 5.
В строку G вставляем недостающую цифру 5 в ячейку G4.

Самое время проверить позиции цифры 5 на поле.
В нижней правой клетке вставляем цифру 5 в ячейку I7, а цифру 8 в парную ячейку H7.
В двух нижних строках осталось заполнить недостающие цифры: в ячейку I5 цифру 8, а в ячейку H4 цифру 3.
В строке B вписываем цифру 7 в ячейку B5. И в этой же клетке оставшуюся цифру 8 в ячейку C4.
В оставшуюся ячейку строки C вписываем недостающую цифру 5 - в ячейку C3.
В этой же клетке заполняем последние две цифры: в ячейку C3 цифру 3, а в ячейку B2 цифру 8.
На поле остались две последние незаполненные ячейки в строке F. Записываем цифру 5 в ячейку F2, а цифру 8 в ячейку F3.

Задача решена.


Рецензии