Sudoku (siffer-singel) (opprinnelig kalt Nummerplass) er et logisk-basert kombinatorisk nummer-plasseringspuslespill. Målet er å fylle et 9 × 9 rutenett med siffer slik at hver kolonne, hver rad og hver av de ni 3 × 3 undergranene som komponerer rutenettet (også kalt "bokser", "blokker" eller "regioner") inneholder alle tallene fra 1 til 9. Puslespilleren gir et delvis fullført rutenett, som for et godt puslespill har en enkelt løsning.
Fullførte spill er alltid en type latinsk firkant med ytterligere begrensninger på innholdet i de enkelte regionene. For eksempel kan det samme ene heltallet ikke vises to ganger i samme rad, kolonne eller noen av de ni 3 × 3 delregioner av 9 × 9 spillebrettet.
Et ferdig Sudoku-rutenett er en spesiell type latinsk firkant med tilleggsegenskapen uten gjentatte verdier i noen av de ni blokkene (eller bokser med 3 × 3 celler). Forholdet mellom de to teoriene er kjent, etter at det ble bevist at en førstegangsformel som ikke nevner blokker, er gyldig for Sudoku hvis og bare hvis den gjelder for latinske kvadrater.
Det generelle problemet med å løse Sudoku-puslespill på n2 × n2-grid med n × n-blokker er kjent for å være NP-komplett. Mange datalgoritmer, som backtracking og danselink, kan løse de fleste 9 × 9-puslespillene effektivt, men kombinatorisk eksplosjon oppstår når n øker, og skaper grenser til egenskapene til Sudokus som kan konstrueres, analyseres og løses når n øker. Et Sudoku-puslespill kan uttrykkes som et graffargeproblem. Målet er å konstruere en 9-farging av en bestemt graf, gitt en delvis 9-farging.