Added Solve overload that uses default predicate