Write a program to solve a Sudoku puzzle by filling empty cells. A valid solution:
- Each row contains - with no repeats.
- Each column contains - with no repeats.
- Each sub-box contains - with no repeats.
Empty cells are marked with '.'.
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
Write a program to solve a Sudoku puzzle by filling empty cells. A valid solution:
Empty cells are marked with '.'.