Algoritmická časť programu sa nachádza v súboroch Tester, CycleDetector, GraphShrinker, CycleDissolver a ColorabilityTester. V Application si užívateľ zvolí, či chce, aby program v grafe zo vstupu našiel všetky rozpustné kružnice, alebo len overil, či existuje aspoň jedna. V Tester program načíta graf zo vstupu a podľa voľby používateľa spustí hľadanie všetkých rozpustných kružníc, alebo jednej. Cycle detector hľadá párne kružnice v grafe. GraphDissolver rozpúšťa párne kružnice v grafe. GraphShrinker preindexováva graf s vrcholmi so stupňom nula, ktoré ostanú po rozpustení kružnice v grafe. ColorabilityTester overuje zafarbiteľnosť grafu.

V súboroch Flower, MyPair, NoDuplicates, OnCycles a Sorting program robí algoritmicky nezaujímavé činnosti ako lexikografické triedenie kružníc, hľadanie chýbajúcich dvojíc v kružnici, odstraňovanie duplikátov chýbajúcich dvojíc, alebo rozdeľovanie chýbajúcich dvojíc na tie, ktoré chýbajú v rozpustných kružniciach a tie, ktoré chýbajú v nerozpustných kružniciach. Tieto činnosti sme používali napríklad pri podrobnejšom skúmaní Isaacsových a Blanušových snarkov.

Graf, ktorý program rozoznáva zo vstupu je v nasledovnom formáte: vstup má počet riadkov rovný počtu vrcholov skúmaného grafu N, kde každý riadok reprezentuje jeden vrchol indexovaný od 0 po N-1. V i-tom riadku sú tri čísla oddelené medzerou reprezentujúce tri vrcholy susediace s vrcholom s indexom i.