All villages are crossings. Here are the steps to determine the number of routes to reach any point:
1) First set the starting point to one.
2) Select the unvisited crossing that is adjacent to a visited crossing and is closer to the destination, but which is the farthest such unvisited crossing from the destination.
3) Set this crossing to the sum of the values for all of the adjacent visited crossings. (If you do this in the correct order, all the adjacent visited crossings are farther from the destination.)
4) If the last selected crossing is not the destination then continue with step two.
Which points are closer or farther from the destination can be determined using the right triangles formed by the intersecting paths. The shortest path from a point to a line is perpendicular to the line. Moving toward the right angle formed by the path and the line is moving closer to the point; moving away from this right angle is moving farther from the point.
Note that when moving from a village to the opposite village that all of the crossings to the left of the direct path between the villages are symmetrical with the corresponding crossing to the right.
The routes:
This is a little hard to follow without a diagram, so you might want to create one. The diagram is a regular hexagon with lines connecting each pair of vertices. There are three intersections created along each of these connecting lines, with the three lines connecting opposite vertices meeting in the middle. Label one vertex A and moving clockwise, label the remaining vertices B-F. Label the middle intersection M. Label the intersection along the path from A to M (path AM) as Ai; label the similar intersections for the remaining vertices as Bi to Fi. Label the intersection of paths AC and BF as ABi. Label the similar intersections BCi, CDi, DEi, EFi and FAi.
Routes to an adjacent village (A to B):
To determine the routes from A to B first set A to 1.
The farthest point from B that is closer than A and adjacent to A is Ai. Ai can only be reached from A, so set Ai to 1.
The next farthest point is ABi. ABi can be reached from A and Ai so set ABi to 1+1=2.
The next farthest point is Bi. Bi can only be reached from ABi, so set Bi to 2.
The next farthest point is the destination B. B can be reached from A, ABi and Bi, so set B to 1+2+2=5.
There are five routes to an adjacent village, so that son will make his last trip on April 5th and the wedding will be the next day on April 6th.
Routes to the second village along the coast (A to C):
A = 1
AFi = A = 1
Fi = AFi = 1
Ai = A + AFi = 2
ABi = Ai + A = 3
M and B are equidistant from C, so in either order:
M = Ai + Fi = 3
B = A + ABi = 4
Bi and Di are equidistant from C, so in either order:
Bi = B + ABi + M = 10
Di = M = 3
BCi and CDi are equidistant from C, so in either order:
BCi = B + Bi = 14
CDi = Di = 3
Ci = BCi + CDi + M = 20
C = B + BCi + CDi + Ci = 41
There are 41 routes from A to C, so that son will make his last trip on May 11th and the wedding will be the next day on May 12th.
Routes to the opposite village (A to D):
Since the intersections to the left and right of the direct path are mirrors, the left-side calculation is assigned to both.
A = 1
F, B = A = 1
FAi, ABi = A + B = 2
Ai = A + ABi + FAi = 5
Fi, Bi = ABi + B = 3
EFi, BCi = B + Bi = 4
M, C and E are equidistant from D, so in any order:
M = Ai + Fi + Bi = 11
E, C = B + BCi = 5
Ei, Ci = BCi + M + C = 20
DEi, CDi = C + Ci = 25
Di = M + CDi + DEi = 61
D = C + E + CDi + DEi + Di = 121
There are 121 routes from A to D, so that son will make his last trip on July 31st and the wedding will be the next day on August 1st.
Bonus Question:
The longest route is a route to the opposite village. Given the above diagram, the longest routes the son will have to travel from A to D is:
A-B-ABi-C-Ci-CDi-Di-D
and the mirror route
A-F-FAi-E-Ei-DEi-Di-D
(ABi-C is the same as ABi-Bi-BCi-C)
If the circumference is 10 miles then the diameter is 10/Pi miles and the radius is 5/Pi miles. Since a regular hexagon is formed from six equilateral triangles, the length of a side of the hexagon is equal to its radius.
The path A-B is then 5/Pi miles. The path B-D bisects the path C-M, so both C-Ci and Di-D are half the radius. A-B + C-Ci + Di-D is then equal to the diameter 10/Pi.
The paths B-ABi, ABi-BCi, and BCi-C are all sides of equilateral triangles with a height of one half of the radius. The paths Ci-CDi and CDi-Di are each half of the side of one of these same triangles. The side of one of these equilateral triangles is
5/(sqrt(3)*Pi)
So the total distance traveled is :
(Périmètre de l'île donnée par l'auteur : 10 miles soit ~ 16,09 km que, dans ma traduction, j'ai arrondi à 16,1 km)
10/Pi + 4*(5/(sqrt(3)*Pi)) = 10/Pi + 20/(sqrt(3)*Pi) ~ 6.86 miles