Ya terminé mi algoritmo. Primero lo hice en C# para poderlo depurar a gusto.
Implementé un algoritmo por fuerza bruta, es decir, pasa por todas las posibles posiciones que pueden tener las reinas. Después de cada combinación se busca si hay al menos 2 reinas en la misma fila o en la misma diagonal usando la detección propuesta en el link de Wikipedia que Jgpeiro da.
Si la combinación es apropiada, imprime el tablero con ceros y unos, siendo los unos las reinas.
No conté las combinaciones correctas ya que al hacer un barrido de todas las combinaciones posibles tienen que salir las 92 correctas siempre.
El archivo resultante con los 92 tableros dibujados es este:
http://www.4shared.com/file/104418320/64e40fd2/Reinas.htmlPero como no se vale en C# migré el código a CCS usando un PIC16 que fácilmente puede migrarse a PIC24. El código compila correctamente sin errores ni advertencias, pero no lo puedo probar porque no uso MPLAB. Si alguien lo emula en MPLAB o Proteus por favor que me diga si funciona.
Este es el código de CCS:
http://www.4shared.com/file/104418325/148efb5d/Ocho_Reinas_CCS.htmlY para los interesados, el código en C#.
http://www.4shared.com/file/104418343/abb7f9ee/Ocho_Reinas_VC_2008.html