LAB 6:  Due 11:59 pm, Wed Oct 18 (extended by 24 hours)

Submit the link to your project to Moodle before the deadline. Do Not modify after the deadline.


Do programming exercise 18 at the end of chapter 6, i.e. complete the program given in the textbook to solve sudoku puzzles. Your program should take the input from a file. Let the user enter a file name. You can assume that the file is in the same folder as your program. Do not require the user to enter the entries from the keyboard. For output, send it both to the screen and to a file. Ask for the name of the output file from the user as well.
You can assume that the file you read the input from has the right format, i.e. 81 integer values between 0-9 with 0's indicating blank spaces. Test your program with several sample input files (but it should be able to read from any input file specified). 

Please note the following: 1)  The description of the findEmptyGridSlot function given by the textbook (and source code) is misleading. A more accurate description is: This function finds the first empty square, stores its coordinates in its arguments, and returns true. If there is no empty square, then returns false. 2) The argument to open member function of a stream object must be of type C-string. In most compilers, a string object does not work but remember that the string class has a member function to convert a string object to a C-string.