# MultiplicationFrustration.frink

``` // Solver for the "Multiplication Frustration" geocache, GC38CAY // http://www.geocaching.com/seek/cache_details.aspx?guid=cf06d6ad-6cdc-43fd-b588-54194fbc4c96 use navigation.frink use GoogleEarth.frink // Just solving for these is sufficient. n1 = "CSAAF" n2 = "AHSHR" p = "JFCPBSSNRR" eq= "\$n1 * \$n2 == \$p" chars = sort[toSet[charList[n1 + n2 + p]]] println[chars] for vals = toArray[0 to 9].lexicographicPermute[] {    en = eq    for i=0 to 9    {       sub = subst[chars@i, toString[vals@i], "g"]       en =~ sub    }    // Found the solution!  Now all this extra code to format the output nicely.    if eval[en]    {       println[vals]       p1 = "AH.SCS"       p2 = "CS.AJH"       for i=0 to 9       {          sub = subst[chars@i, toString[vals@i], "g"]          p1 =~ sub          p2 =~ sub       }       solution = "[DMS[39,\$p1] North,   DMS[104,\$p2] West]"       println[solution]       [lat,long] = eval[solution]       println[[lat,long] -> "degrees"]       browseGoogleMaps[lat, long, "GC38CAY"]    } } ```