  Let ${\cal T}$ be a triangulation of a set ${\cal P}$ of $n$ points in the
plane, and let $e$ be an edge shared by two triangles in ${\cal T}$ such that
the quadrilateral $Q$ formed by these two triangles is convex. A {\em flip} of
$e$ is the operation of replacing $e$ by the other diagonal of $Q$ to obtain a
new triangulation of ${\cal P}$ from ${\cal T}$. The {\em flip distance}
between two triangulations of ${\cal P}$ is the minimum number of flips needed
to transform one triangulation into the other. The Flip Distance problem asks
if the flip distance between two given triangulations of ${\cal P}$ is at most
$k$, for some given $k \in N$. It is a fundamental and a challenging problem.
  We present an algorithm for the {\sc Flip Distance} problem that runs in time
$O(n + k \cdot c^{k})$, for a constant $c \leq 2 \cdot 14^{11}$, which implies
that the problem is fixed-parameter tractable. We extend our results to
triangulations of polygonal regions with holes, and to labeled triangulated
graphs.
