Two cycles in a graph are vertex-disjoint if they have no common vertex.   I am looking for two vertex disjoint (chordless) cycles with length 10.

```
g = Graph[{0 <-> 1, 1 <-> 2, 2 <-> 7, 7 <-> 6, 6 <-> 8, 2 <-> 3, 
   3 <-> 4, 4 <-> 10, 10 <-> 11, 11 <-> 12, 12 <-> 9, 9 <-> 13, 
   13 <-> 15, 0 <-> 12, 6 <-> 13, 15 <-> 14, 14 <-> 4, 1 <-> 5, 
   16 <-> 15, 11 <-> 16, 8 <-> 0, 3 <-> 9, 10 <-> 5, 7 <-> 19, 
   19 <-> 18, 16 <-> 17, 17 <-> 8, 5 <-> 18, 14 <-> 19, 17 <-> 18}, 
  VertexLabels -> Automatic]

```

```
c10 = FindCycle[g, {10}, All]; (* find all cycles with length 10.*)
```


```
convelist[cycle_] := Union[Flatten[Map[List @@ # &, cycle]]] (* convert cycle to vertex lists*)
noIntersectionQ[list1_, list2_] := Intersection[list1, list2] == {};(* test if vertex lists of two cycles are disjoint *)
(*main function*)
finddisjointcycles[listOfLists_] := 
  Module[{n = Length[listOfLists], i, j}, 
   For[i = 1, i <= n - 1, i++, 
    For[j = i + 1, j <= n, j++, 
     If[noIntersectionQ[listOfLists[[i]], listOfLists[[j]]], 
      Return[{i, j, listOfLists[[i]], listOfLists[[j]]}]]]];
   Return[None]];

```

```
finddisjointcycles[listcycle]
```
{1, 111, {3, 4, 9, 13, 14, 15, 16, 17, 18, 19}, {0, 1, 2, 5, 6, 7, 8, 
  10, 11, 12}}

```
HighlightGraph[g, {c10[[1]], c10[[111]]}]
```
[![enter image description here][1]][1]


 I feel like my code is too cumbersome. I hope it can be **simplified**. 

The **second objective** is to find two vertex-disjoint chordless cycles with length 10.

> A **chord** of a graph cycle $C$ is an edge not in the edge set of $C$ whose endpoints lie in the vertex set $C$.

For example, in the following graph, the edge $3-4$ is a chord of the cycle $1-2-3-4-1$.

 [![enter image description here][2]][2]

> A **chordless cycle** of a graph $G$ is a graph cycle in $G$ that has no cycle chord.


  [1]: https://i.sstatic.net/hSoX4.png
  [2]: https://i.sstatic.net/gyJ96.png