title: Algorithm for solving Flow Free Game
body: <p>I recently started playing <a href="https://play.google.com/store/apps/details?id=com.bigduckgames.flow" rel="noreferrer">Flow Free Game</a>.</p>
  <blockquote>
  <p><img src="https://i.stack.imgur.com/5DeZs.png" alt="" /></p>
  <p>Connect matching colors with pipe to create a flow. Pair all colors, and cover the entire board to solve each puzzle in Flow Free. But watch out, pipes will break if they cross or overlap!</p>
  </blockquote>
  <p>I realized it is just path finding game between given pair of points with conditions that no two paths overlap. I was interested in writing a solution for the game but don't know where to start. I thought of using backtracking but for very large board sizes it will have high time complexity.</p>
  <p>Is there any suitable algorithm to solve the game efficiently. Can using heuristics to solve the problem help? Just give me a hint on where to start, I will take it from there.</p>
  <p>I observed in most of the boards that usually</p>
  <ol>
  <li>For furthest points, you need to follow path along edge.</li>
  <li>For point nearest to each other, follow direct path if there is one.</li>
  </ol>
  <p>Is this correct observation and can it be used to solve it efficiently?</p>