Sudoku (digit-single) (oorspronkelijk Number Place geheten) is een logica-gebaseerde, combinatorische nummerplaatsingspuzzel. Het doel is om een 9 × 9-raster met cijfers te vullen, zodat elke kolom, elke rij en elk van de negen 3 × 3 subreeksen waaruit het raster bestaat (ook wel "kaders", "blokken" of "regio's" genoemd) alle cijfers van 1 tot 9. De puzzelsetter biedt een gedeeltelijk voltooid raster, dat voor een goed gepositioneerde puzzel een enkele oplossing heeft.
Voltooide games zijn altijd een soort Latijns vierkant met een extra beperking voor de inhoud van afzonderlijke regio's. Bijvoorbeeld, hetzelfde enkele gehele getal verschijnt mogelijk niet twee keer in dezelfde rij, kolom of een van de negen 3 × 3 subregio's van het 9 × 9 speelbord.
Een voltooid Sudoku-raster is een speciaal type Latijns vierkant met de extra eigenschap van geen herhaalde waarden in een van de negen blokken (of vakken van 3 × 3 cellen). De relatie tussen de twee theorieën is bekend, nadat is bewezen dat een eerste-orde formule die geen blokken vermeldt, geldig is voor Sudoku als en alleen als het geldig is voor Latijnse vierkanten.
Het algemene probleem van het oplossen van Sudoku-puzzels op n2 × n2-rasters van n × n-blokken is bekend dat ze NP-compleet zijn. Veel computeralgoritmen, zoals backtracking en danskoppelingen, kunnen de meeste 9 × 9-puzzels efficiënt oplossen, maar combinatorische explosie vindt plaats als n toeneemt, waardoor er limieten ontstaan voor de eigenschappen van Sudokus die kunnen worden geconstrueerd, geanalyseerd en opgelost als n toeneemt. Een Sudoku-puzzel kan worden uitgedrukt als een probleem met het inkleuren van een grafiek. Het doel is om een 9-kleuren van een bepaalde grafiek te construeren, gegeven een gedeeltelijke 9-kleuring.