dolph / sudoku

Experimenting with sudoku

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sudoku

Renders a Sudoku board by representing the viable choices for any given square. For example, this is the equivalent of a "blank" Sudoku board:

┏━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┓
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┗━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┛

A puzzle might look like this:

┏━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┓
┃     3 │     3 │       ┃   2   │       │       ┃       │       │ 1     ┃
┃ 4 5   │       │   5   ┃       │     6 │   5   ┃       │       │       ┃
┃       │       │       ┃       │       │     9 ┃ 7     │   8   │       ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃       │       │   2   ┃       │       │ 1     ┃   2 3 │       │   2 3 ┃
┃     6 │       │   5   ┃   5   │       │   5   ┃ 4     │       │       ┃
┃       │   8   │       ┃       │ 7     │       ┃       │     9 │       ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1     │       │   2   ┃       │     3 │       ┃       │       │   2 3 ┃
┃       │       │       ┃       │       │ 4     ┃   5   │     6 │       ┃
┃       │     9 │ 7     ┃   8   │   8   │       ┃       │   8   │       ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃       │   2   │       ┃ 1     │       │       ┃     3 │       │     3 ┃
┃       │       │     6 ┃       │       │   5   ┃     6 │ 4     │   5   ┃
┃   8   │       │ 7     ┃       │     9 │ 7   9 ┃       │       │ 7     ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃     3 │ 1   3 │       ┃       │       │   2   ┃       │ 1     │     3 ┃
┃       │       │ 4     ┃     6 │       │       ┃       │   5   │   5   ┃
┃       │ 7     │       ┃       │   8   │       ┃     9 │       │ 7     ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃       │       │ 1     ┃       │       │     3 ┃ 1     │   2   │       ┃
┃       │   5   │     6 ┃ 4     │ 4     │       ┃     6 │       │       ┃
┃     9 │       │ 7     ┃ 7   9 │     9 │       ┃       │       │   8   ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃   2   │ 1     │       ┃     3 │   2   │       ┃ 1 2   │       │       ┃
┃   5   │     6 │       ┃       │       │     6 ┃       │       │ 4     ┃
┃       │       │     9 ┃       │       │       ┃   8   │ 7     │       ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃   2   │       │ 1 2   ┃       │       │       ┃ 1 2   │     3 │       ┃
┃       │ 4     │       ┃       │   5   │       ┃       │       │     6 ┃
┃       │       │   8   ┃ 7   9 │       │ 7   9 ┃   8   │       │       ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃       │       │     3 ┃       │ 1     │       ┃   2   │       │   2   ┃
┃       │     6 │       ┃ 4     │       │       ┃       │   5   │   5   ┃
┃ 7     │       │       ┃     9 │       │   8   ┃       │       │     9 ┃
┗━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┛

And when fully solved:

┏━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┓
┃       │     3 │       ┃   2   │       │       ┃       │       │ 1     ┃
┃ 4     │       │   5   ┃       │     6 │       ┃       │       │       ┃
┃       │       │       ┃       │       │     9 ┃ 7     │   8   │       ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃       │       │   2   ┃       │       │ 1     ┃       │       │     3 ┃
┃     6 │       │       ┃   5   │       │       ┃ 4     │       │       ┃
┃       │   8   │       ┃       │ 7     │       ┃       │     9 │       ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1     │       │       ┃       │     3 │       ┃       │       │   2   ┃
┃       │       │       ┃       │       │ 4     ┃   5   │     6 │       ┃
┃       │     9 │ 7     ┃   8   │       │       ┃       │       │       ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃       │   2   │       ┃ 1     │       │       ┃     3 │       │       ┃
┃       │       │     6 ┃       │       │   5   ┃       │ 4     │       ┃
┃   8   │       │       ┃       │     9 │       ┃       │       │ 7     ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃     3 │       │       ┃       │       │   2   ┃       │ 1     │       ┃
┃       │       │ 4     ┃     6 │       │       ┃       │       │   5   ┃
┃       │ 7     │       ┃       │   8   │       ┃     9 │       │       ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃       │       │ 1     ┃       │       │     3 ┃       │   2   │       ┃
┃       │   5   │       ┃       │ 4     │       ┃     6 │       │       ┃
┃     9 │       │       ┃ 7     │       │       ┃       │       │   8   ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃       │ 1     │       ┃     3 │   2   │       ┃       │       │       ┃
┃   5   │       │       ┃       │       │     6 ┃       │       │ 4     ┃
┃       │       │     9 ┃       │       │       ┃   8   │ 7     │       ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃   2   │       │       ┃       │       │       ┃ 1     │     3 │       ┃
┃       │ 4     │       ┃       │   5   │       ┃       │       │     6 ┃
┃       │       │   8   ┃     9 │       │ 7     ┃       │       │       ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃       │       │     3 ┃       │ 1     │       ┃   2   │       │       ┃
┃       │     6 │       ┃ 4     │       │       ┃       │   5   │       ┃
┃ 7     │       │       ┃       │       │   8   ┃       │       │     9 ┃
┗━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┛

About

Experimenting with sudoku


Languages

Language:Go 100.0%