In the last decade, solving the Sudoku puzzle has become every one’s passion. The simplicity of puzzle’s structure and the low requirement of mathematical skills caused people to have enormous interest in accepting challenges to solve the puzzle. Therefore, developers have tried to find algorithms in order to generate the variety of puzzles for human players so that they could be generated and solved by computer programming. In this report, I have presented two algorithm called Shift and Backtracking. The purpose is to implement a more efficient algorithm and to generate and solve Sudoku. These algorithm are general algorithm that can be employed in to any problems. Firstly, we make a 9 * 9 matrix and generate matrix using shift algorithm. Then, we pop up the numbers randomly according to the complexity of level. After that, to solve the matrix we read the blank space within the matrix and use Backtracking algorithm to solve it and obtain the accurate result. The results have proved that the Shift algorithm generates and Backtracking algorithm solves the puzzle faster and more effectively.