Keep working hard, if you find an algorithm that will solve this problem in polynomial time you will earn a lot of money ;-)