**Problem Statement:**
Given the required input arguments, write an efficient algorithm to solve the **N-Queens** problem. Implement the required logic as specified by standard definitions for this classic algorithmic challenge.
**Hint / Expected Approach:**
Column + diagonal sets; DFS row by row
**Edge Cases to Consider:**
- (1) n = 1 (one solution)
- (2) n = 2 or 3 (no solution)
- (3) Multiple solutions