In this project a Java based application was developed that allows a Sudoku puzzle to be extracted and solved in real time using input images of Sudoku puzzles. If the input image of a Sudoku puzzle has reasonable clarity, the puzzle will be solved and the computed values will be displayed in form of a solved Sudoku puzzle. Here we have solved the Sudoku puzzles using a form of backtracking algorithm which is an efficient algorithm to solve NP-complete problems. The Sudoku Puzzle is recognized from the image using processes like Segmentation, Image processing and Optical Character Recognition. For Optical Character Recognition Artificial Neural Networks are used. The Artificial Neural Network is implemented using backtracking and Gradient Descent algorithm. The project is successfully solves all Puzzles if the input image is clear and has perfect grids. This project can be applied to solve Sudoku puzzles of any size but it is designed to solve puzzle of only 9*9 dimensions as NP complete problems suffer from combinatorial explosion with the increase of size of puzzle.