Code out a Sudoku puzzle solver.
Implement solve_sudoku(board), modifying the given 9x9 board in place and returning it. Each cell contains a digit string from "1" to "9", or "." for an empty cell. Return a completed valid Sudoku board. Inputs are guaranteed to have exactly one solution.
A valid solution contains each digit exactly once in every row, column, and 3x3 subgrid.
def solve_sudoku(board):