SaaS RESTful API:

METHOD: new

  • returns an unsolved Sudoku puzzle state in Dotted Notation (see below)

EXAMPLE: GET /new

METHOD: hint

  • returns a Sudoku puzzle state in Dotted Notation representing the location and value of the next move
  • on error, or non-deterministic state, returns an empty Dotted Notation state

EXAMPLE: GET /hint/{..puzzle..state..in..dotted..notation..}

METHOD: solve

  • returns the solved Sudoku puzzle in Dotted Notation
  • on error, or non-deterministic board state, returns an empty Dotted Notation state

EXAMPLE: GET /solve/{..puzzle..state..in..dotted..notation..}

Dotted Notation

A Sudoku puzzle board is a nine by nine grid with 81 positions. Dotted Notation is a simple 81 character string that allows us to exchange the known and unknown values for any position on the board.

Here is the live Dotted Notation state for the current puzzle (above):

Known values are represented as digits between [1..9] and unknown values are transmitted as a '.' character. (hence the name "Dotted")

Transforming this string into a playable Sudoku board is left as an exercise for the reader.