function part2Algebraic(input) {
const [x0y0, x0y1, x1y0] = [
[0, 0],
[0, 1],
[1, 0]
].map(([n, v]) => nounVerbProg(input, n, v));
const dx = x1y0 - x0y0;
const dy = x0y1 - x0y0;
const noun = Math.floor((target - x0y0) / dx);
const verb = Math.floor((target - x0y0 - dx * noun) / dy);
return noun * 100 + verb;
}