This is a port to kotlin of the original Norvig solver written in python.
Throughout this program we have:
r
is a row, e.g."A"
c
is a column, e.g."3"
s
is a square, e.g."A3"
d
is a digit, e.g."9"
u
is a unit, e.g.["A1","B1","C1","D1","E1","F1","G1","H1","I1"]
grid
is a grid, e.g. 81 non-blank chars, e.g. starting with".18...7...
values
is a map of possible values, e.g.{"A1":"12349", "A2":"8", ...}
References used: