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, although I am sure that this hasn't been proven</strike>. I believe that the related problem of finding a cycle of length 0 (mod k) has not been proven to be polynomial.