--- /dev/null
+#!/usr/bin/perl -w
+
+use v5.40;
+
+my $cost;
+while (1) {
+ my ($ax, $ay) = <> =~/\d+/g;
+ my ($bx, $by) = <> =~/\d+/g;
+ my ($px, $py) = <> =~/\d+/g;
+
+ for my $na (1 .. 100) {
+ last if $ax * $na > $px;
+ last if $ay * $na > $py;
+ next if ($px - $ax * $na) % $bx;
+ next if ($py - $ay * $na) % $by;
+ next if ($px - $ax * $na) / $bx != ($py - $ay * $na) / $by;
+ my $c = $na*3 + ($px - $ax * $na) / $bx;
+ $cost += $c;
+
+ last;
+ }
+ last if !defined <>;
+}
+
+say $cost;
--- /dev/null
+#!/usr/bin/perl -w
+
+use v5.40;
+
+my $cost;
+while (1) {
+ my ($ax, $ay) = <> =~/\d+/g;
+ my ($bx, $by) = <> =~/\d+/g;
+ my ($px, $py) = <> =~/\d+/g;
+ $px += 10000000000000;
+ $py += 10000000000000;
+
+ my $nb = ($px*$ay - $py*$ax) / ($bx*$ay - $ax*$by);
+ my $na = ($px - $nb*$bx) / $ax;
+
+ $cost += 3*$na+$nb
+ if $na == int($na) && $nb == int($nb);
+
+ last if !defined <>;
+}
+say $cost;