usando estados binarios
Revisa esto
http://www.codeproject.com/KB/recipe...inatorics.aspx
no te rompas la cabeza,
lo importante es q tengas en cuenta q si haces algun algoritmo de fuerza bruta , el tiempo se vuelve tu enemigo, revisa metodos de generacion de combinaciones usando programacion dinamica.