public const int GRID_SIZE = 8;
private static void PrintBoard(int[] board){
for (var i=0; i < board.Length; i++){
for (var j=0; j < board.Length; j++){
var val = (board[i] == j) ? 1 : 0;
Console.Write(val + " ");
private static bool IsAvailable(int currRow, int column, int[] board){
for (var i=0; i < currRow; i++){
if ((currRow - i) == Math.Abs(board[i] - column)){
public static void EightQueens(int currRow, int[] board){
for (var i=0; i < board.Length; i++){
if (IsAvailable(currRow, i, board)){
EightQueens(currRow + 1, board);
public static void Main()
EightQueens(0, new int[GRID_SIZE]);