Here are a few observations we can make concerning this problem:

Queens can be assigned a column, problem is then to find row positions.

One obvious behavior is for a queen to tell if it can attack a given position.

Can structure the problem using generators  each queen can be asked to
find one solution, then later be asked to find another solution.