This problem was asked by Microsoft.
You have an
N board. Write a function that, given
N, returns the number of possible arrangements of the board where
N queens can be placed on the board without threatening each other, i.e. no two queens share the same row, column, or diagonal.