This framework is designed to be used for any backtracking algorithm, and it is not limited to a specific problem. You need to implement the (quite simple) interface, and then you can use the solve() ...