If we restrict to the class of planar graphs, then there is a linear time algorithm due to [Eppstein](http://portal.acm.org/citation.cfm?id=313830). It is also linear for graphs of bounded tree-width since the problem of finding a cycle of fixed length can easily be encoded as a monadic second-order logic formula, and we can then appeal to Courcelle's theorem. <strike>I suspect that the answer for general graphs is actually polynomial</strike>. **Edit.** The related problem of finding a cycle of length $a$ (mod $k$) has not been proven to be polynomial (except in the case $a=0$).