Красивое свойство.
Но мне пришло в голову ещё более сильное правило. В "групповых судоку" мы имеем дело с конечными группами. Поэтому надо взять порядок "заполняемой группы", и разложить его на простые множители. Дальше выбрать некоторую
циклическую подгруппу, её порядок будет делителем порядка группы. Элементы этой циклической подгруппы можно расположить в таблице первыми, и заполнение таблицы умножения для них однозначно - это
Дальше (если мы не исчерпали всю группу), рассмотрим один новый элемент, не принадлежащий первой подгруппе. Теперь возникает подгруппа с двумя образующими. Заполнять её можно, перечисляя классы смежности по первой подгруппе (правые или левые). Первый заполняется очевидно:
Для второго выберем какую-то строчку из
не лежащую в первом, и обозначим её
Получим
(с соответствующими сокращениями
). И так далее, будем выбирать строчки, не лежащие в уже перебранных классах смежности, пока не переберём весь порядок новой подгруппы. Дальше (если мы не исчерпали всю группу) выберем третий образующий элемент и третью подгруппу построим аналогичным образом. И так далее.