A sudoku solver based on Dancing Link algorithm and the using of doubly linked list