Pisałem jakiś czas temu algorytm do generowania tablic sudoku. Jest bardzo powolny, ale może Ci się przyda. Jeśli chcesz zerknąć, to podsyłam link do Githuba: https://github.com/Ajver/sudoku Jest napisany w językach: C++, PHP i JavaScript (wszystkie wersje są w tym repozytorium, dodatkowo działanie algorytmu możesz najszybciej zobaczyć na stronie: https://ajver.github.io/sudoku/)
Jeśli chodzi o to, co powinieneś potrafić, to na pewno tablice, ewentualnie wskaźniki (mogą być pomocne), funkcje (raczej must-have).
Ale żebym mógł więcej powiedzieć, to musisz więcej napisać jakie już podjąłeś decyzje: Czy chcesz to robić w konsoli? Czy okienkowo w bibliotekach SDL / SFML / etc. ?