# Cycles of given length in a graph

Suppose we're given finite unoriented graph G and we know such things about it: number of vertices, number of edges, degree sequence, number of connected components, whatever else we need.

Is there any formula to estimate possible number of simple cycles of given length in a graph? There are lots of algorithms on the Net which search for cycles but i didn't manage to find estimates on the number of cycles. Thanks in advance for any help.

If $G$ has $n$ vertices, then even determining if the number of $n$-cycles is greater than zero or not (i.e., whether there is a Hamiltonian cycle) is a well-known NP-complete problem, so in general the prospects don't look good for there being a method for estimating the number of simple cycles of given length $k$. It is possible to write down explicit formulas, such as $$c_k=\frac1{2k}\sum_{i=2}^k(-1)^{k-1}\binom{n-i}{n-k}\sum_{|S|=n-i}\text{Tr}(A_S^k)$$ where $A_S$ is the adjacency matrix with the subset $S$ of rows and columns deleted (http://mathworld.wolfram.com/GraphCycle.html). However, the computational difficulty of evaluating this formula grows exponentially with $k$.