Any option other recursive search possible to go from one 2d point to another point with fixed set of possible moves? Problem:  Given (a,b) and (c,d), find if you can you reach from (a,b) to (c,d) if we can only have the following moves
(a, b) to either (a+b,b) or to (a,a+b). 

Example (1,4) to (5,9) is possible because:  (1,4) -> (5,4) -> (5,9)

Solution:  I can think of is recursive search

Set 1: TestedPoints, initially empty
Set 2: PointsToTest, initially (a,b)

While (PointsToTest not empty):
   Remove nextPoint (x,y), 
   Compare (x+y,y) with (c,d):
          If x+y=c and y=d, return TRUE
          Else if x+y &lt; c and y &lt; d, add (x+y,y) to PointsTotest if it is not present in TestedPoints set

   Compare (x,x+y) with (c,d):
          If x=c and x+y=d, return TRUE
          Else if x &lt; c and x+y &lt; d, add (x,x+y) to PointsTotest if it is not present in TestedPoints set


Is there anything faster?

if we can express the progressive X,y points in an expression, I thunk we can do faster.  For e.g: Get a as close to c as possible and b as close to d as possible using equations and then do recursive search over smaller interval.
There is a simple method that is often faster: If you have $n$ moves to go from $A$ to $B$, determine the set of all points that you can reach from $A$ in $\lfloor \frac{n}{2} \rfloor$ moves, and the set of all points from which $B$ can be reached in  $\lceil \frac{n}{2} \rceil$ moves, and then find if there are points in the intersection of these sets.