Ich denke mit Brute-force könnte man das relativ einfach lösen. Man müsste nur alle möglichen Kombinationen durchgehen und jedes mal prüfen, ob diese Kombination mit den Regeln vereinbar ist, oder nicht.

Gruß, Yaro