Generating Solutions to the N-Queens Problem Using 2-Circulants

The N-Queens problem (originally the 8-Queens problem) has been studied for more than a century [3, 10, 11, 13]. The problem attracted the attention of several famous mathematicians, including Gauss [10, 13] and P61ya [14]. During the last three decades, the problem has been discussed in the context of computer science and used as an example of backtracking algorithms, permutation generation, the divide and conquer paradigm, program development methodology, constraint satisfaction problems, integer programming, and specification [7]. Some practical applications, such as parallel memory storage schemes, VLSI testing, traffic control, and deadlock prevention are also mentioned in the literature [7, 81. The N-Queens problem is to place N mutually nonattacking queens on an N x N chessboard. In other words, the objective is to place N queens on an N X N chessboard in such a way that no two are on the same row, column or diagonal. Example board configurations for 2-, 3-, and 4-Queens problems are given in FIGURE 1. As can be observed, there is no solution for the 2-Queens and the 3-Queens problem. However, there is a solution for the 4-Queens problem. In this configuration, none of the queens are on the same row, column, or diagonal.