Originally Posted by WillyNily
First example route (from Continental):
FROM
AAA-CO-BBB-CO-
VIA CCC-CO-
OR
VIA DDD-CO-EEE/FFF/GGG/HHH-CO-
TO III-CO-JJJ*
OR
TO FFF-CO-KKK-CO-JJJ*
OR
TO KKK-CO-LLL/MMM-CO-JJJ*
OR
TO FFF-CO-LLL/MMM-CO-JJJ*
OR
TO NNN-CO-JJJ*
Unless I'm mistaken, the above should return the following routes:
AAA BBB CCC III JJJ
AAA BBB CCC FFF KKK JJJ
AAA BBB CCC KKK LLL/MMM JJJ
AAA BBB CCC FFF LLL/MMM JJJ
AAA BBB CCC NNN JJJ
AAA BBB DDD EEE/FFF/GGG/HHH III JJJ
AAA BBB DDD EEE/FFF/GGG/HHH FFF KKK JJJ
AAA BBB DDD EEE/FFF/GGG/HHH KKK LLL/MMM JJJ
AAA BBB DDD EEE/FFF/GGG/HHH FFF LLL/MMM JJJ
AAA BBB DDD EEE/FFF/GGG/HHH NNN JJJ
Where the airports separated by slashes (e.g. EEE/FFF/GGG/HHH) means choose one (e.g. EEE or FFF or GGG or HHH).
Removal of airports separated by slashes further expands to:
AAA BBB CCC III JJJ
AAA BBB CCC FFF KKK JJJ
AAA BBB CCC KKK MMM JJJ
AAA BBB CCC KKK LLL JJJ
AAA BBB CCC FFF LLL JJJ
AAA BBB CCC FFF MMM JJJ
AAA BBB CCC NNN JJJ
AAA BBB DDD EEE III JJJ
AAA BBB DDD FFF III JJJ
AAA BBB DDD GGG III JJJ
AAA BBB DDD HHH III JJJ
AAA BBB DDD EEE FFF KKK JJJ
AAA BBB DDD FFF KKK JJJ
AAA BBB DDD GGG FFF KKK JJJ
AAA BBB DDD HHH FFF KKK JJJ
AAA BBB DDD EEE KKK LLL JJJ
AAA BBB DDD EEE KKK MMM JJJ
AAA BBB DDD FFF KKK LLL JJJ
AAA BBB DDD FFF KKK MMM JJJ
AAA BBB DDD GGG KKK LLL JJJ
AAA BBB DDD GGG KKK MMM JJJ
AAA BBB DDD HHH KKK LLL JJJ
AAA BBB DDD HHH KKK MMM JJJ
AAA BBB DDD EEE FFF LLL JJJ
AAA BBB DDD EEE FFF MMM JJJ
AAA BBB DDD FFF LLL JJJ
AAA BBB DDD FFF MMM JJJ
AAA BBB DDD GGG FFF LLL JJJ
AAA BBB DDD GGG FFF MMM JJJ
AAA BBB DDD HHH FFF LLL JJJ
AAA BBB DDD HHH FFF MMM JJJ
AAA BBB DDD EEE NNN JJJ
AAA BBB DDD FFF NNN JJJ
AAA BBB DDD GGG NNN JJJ
AAA BBB DDD HHH NNN JJJ