Sudtyro wrote:Is the "pattern check" a machine algorithm, or is it something that can be done manually?

Doing it manually is cumbersome. One way is to find valid templates and "exclude" those digits, e.g. you can start following:

if one of A or B is true, there is always a valid pattern for the digits marked with +

- Code: Select all
` . . 6 | . . . |+6 6 .`

.+6 6 | . . . | . 6 6

. . . | . . . | . . .

------+-------+------

. . . | . . B | . A 6

6 . A | . . . | . B .

6 . B | . . A | . . 6

------+-------+------

6 . . | . . . | 6 . .

+6 6 6 | . . . | . .+6

. . . | . . . | . . .

Now i write 9 for digits, that cannot be eliminated. Assume that A or B and C or D is true.

- Code: Select all
` . . C | . . . | 9 D .`

. 9 D | . . . | . C 6

. . . | . . . | . . .

------+-------+------

. . . | . . A | . 9 B

+6 . 9 | . . . | . 9 .

6 . 9 | . . B | . . A

------+-------+------

6 . . | . . . |+6 . .

9+6 6 | . . . | . . 9

. . . | . . . | . . .

now six 6's are left to check

- Code: Select all
` . .+9 | . . . | 9 9 .`

. 6 9 | . . . | . 9+6

. . . | . . . | . . .

------+-------+------

. . . | . .+9 | . 9 9

9 . 9 | . . . | .+9 .

+6 . 9 | . . 6 | . . 9

------+-------+------

6 . . | . . . |+9 . .

9+9 6 | . . . | . . 9

. . . | . . . | . . .

now four

- Code: Select all
` . . 9 | . . . |+9 9 .`

.+6 9 | . . . | . 9 9

. . . | . . . | . . .

------+-------+------

. . . | . . 9 | .+9 9

9 .+9 | . . . | . 9 .

9 . 9 | . .+6 | . . 9

------+-------+------

+6 . . | . . . | 9 . .

9 9 6 | . . . | . .+9

. . . | . . . | . . .

and a last one

- Code: Select all
` . . 9 | . . . | 9+9 .`

.+9 9 | . . . | . 9 9

. . . | . . . | . . .

------+-------+------

. . . | . . A | . 9 B

+9 . 9 | . . . | . 9 .

9 . 9 | . . B | . . A

------+-------+------

9 . . | . . . |+9 . .

9 9+6 | . . . | . . 9

. . . | . . . | . . .

Of course this is not an optimal way, better methods ?