This is much more known as sliding puzzle. https://en.wikipedia.org/wiki/Sliding_puzzle
As far as I know all starting configurations of sliding puzzle are solvable.
Sliding puzzles more often use images instead of numbers. So I suggest you add support for using images within your game.
In fact why not add ability for your program to be able to load one "final" image which is then split into 9 images (3x3 grid) where you then use first 8 images instead of the numbers.
Game logic stays the same so implementing this should not be to difficult.
Then to make more variety you could add bigger girds like 4x4, 5x5, or even add some non squared grids like 3x4, 4,5 etc. Basically any sized grid larger than 2x3 works.
Bookmarks