Build the PrimitiveHard
N-Queens
Write `solve_n_queens(n)` returning every board on which `n` queens share no row, column, or diagonal. Each board is a list of `n` strings using `Q` and `.`.
Place one queen per row, so rows never conflict by construction. Columns need a set. The trick is the diagonals: every cell on a down-right diagonal has the same `r - c`, and every cell on a down-left diagonal has the same `r + c`. That turns the check into two set lookups instead of a scan.
What to expect: A timer starts when you begin. Edit the starter code, run it against the test suite as many times as you like, then finish when you're done. The reference solution and interviewer follow-up questions unlock only after you finish.