Day 13, day 13 of shirking other responsibilities.
p1
Ok. So, I overthought this a little. Ultimately, this problem boils down to solving a system of 2 linear equations aka inverting a matrix.
Of course, anyone who has done undergraduate linear algebra knows to look to the determinant in case some shit goes down. For the general problem space, a zero determinant means that one equation is just a multiple of the other. A solution could still exist in this case. Consider:
a => x+1, y+1
b => x+2, y+2
x = 4, y = 4 (answer: 2 tokens)
The following has no solution:
a => x+2, y+2
b => x+4, y+4
x = 3, y = 3
I thought of all this, and instead of coding the solution, I just checked if any such cases were in my input. There weren't, and I was home free.
p2
No real changes to the solution to p1 aside from the new targets. I wasn't sure if 64 bit ints were big enough to fit the numbers so I changed my code to use big ints.
I'm looking at my code again and I'm pretty sure that was all unnecessary.
It's probably worth 14B in the way a fire that you feed 14B of cash into is worth 14B