  Functional graphs (FGs) model the graph structures used to analyze the
behavior of functions from a discrete set to itself. In turn, such functions
are used to study real complex phenomena evolving in time. As the systems
involved can be quite large, it is interesting to decompose and factorize them
into several subgraphs acting together. Polynomial equations over functional
graphs provide a formal way to represent this decomposition and factorization
mechanism, and solving them validates or invalidates hypotheses on their
decomposability. The current solution method breaks down a single equation into
a series of \emph{basic} equations of the form $A\times X=B$ (with $A$, $X$,
and $B$ being FGs) to identify the possible solutions. However, it is able to
consider just FGs made of cycles only. This work proposes an algorithm for
solving these basic equations for general connected FGs. By exploiting a
connection with the cancellation problem, we prove that the upper bound to the
number of solutions is closely related to the size of the cycle in the
coefficient $A$ of the equation. The cancellation problem is also involved in
the main algorithms provided by the paper. We introduce a polynomial-time
semi-decision algorithm able to provide constraints that a potential solution
will have to satisfy if it exists. Then, exploiting the ideas introduced in the
first algorithm, we introduce a second exponential-time algorithm capable of
finding all solutions by integrating several `hacks' that try to keep the
exponential as tight as possible.
