faster algorithm, but generating incomplete solution
corrected bounded empty positions calculation
only generating count, not sequence of solutions