The problem consists of starting from a shuffled initial configuration of the cells and arriving at a final configuration with a determined order of digits. The possible movements/operators to get from one configuration to another are: 1) move the blank cell up, 2) move the blank cell down, 3) move the blank cell to the right, and 4) move the blank cell to the left.
The first configuration has an optimal solution in depth 12 (the smallest number of possible moves to get from the initial configuration to the final configuration). The second initial configuration does not lead to the proposed final configuration. Explain why.
While proposing only an initial and final setup for testing, prepare your program so that you can enter several initial and final settings. Therefore, write your code so that the user can choose the initial and final settings. Your code should check for a solution to arrive from the initial state to the final state before starting the search, and should issue an error message if there is no path between the initial and the final solution.