The Knight's tour problem is another chessboard puzzle in which the objective is to find a sequence of moves by the knight in which it visits every square on the board exactly once. The legal moves of a knight are shown in the diagram to the right. Design and implement a program that uses a recursive backtracking algorithm to solve the knight's tour. Your program should extract from the user a starting position for the knight and produce a list of moves that solves the knight's tour.