Finding all possible simple cyclic paths in a digraph
Efficient Algorithms are already known in the literature.

See e.g., 


Tarjan, R E and Read, R C (1975) Bounds on backtrack algorithms for listing cycles, paths, and spanning trees. Networks 5(3):237-252
Johnson, D. B. (1975) Finding All the Elementary Circuits of a Directed Graph. SIAM Journal on Computing 4(1):77-84.