A Flow Free solver written in prolog using SAT. It can find the solution that minimizes the longest length, and it can count the number of different solutions.