minimised -1 output from pc:random

Added the pc:exhaustive function to do a brute force search for a
solution before returning -1. This is called from pc:random after
several random values have still failed to find a solution.