Finding the longest isometric cycle in a graph

A cycle in a graph G is isometric if the distance between two vertices in the cycle is equal to their distance in G. Finding the longest isometric cycle of a graph is then a natural variant of the problem of finding a longest cycle. While most variants of the longest cycle problem are NP-complete, we show that quite surprisingly, one can find a longest isometric cycle in a graph in polynomial time.