Add support for puzzles of different rows and column lengths