Skip to content

Commit 07dad0a

Browse files
committed
better fomula
1 parent a4fa6cd commit 07dad0a

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/2024/day13.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44
// b = (px - a * ax) / bx
55
// py = a * ay + (px - a * ax) / bx * by
66
// py = a * ay + px * by / bx - a * ax * by / bx
7-
// a * ay + px * by / bx - a * ax * by / bx - py = 0
8-
// a * ay - a * ax * by / bx = py - px * by / bx
9-
// a * (ay - ax * by / bx) = py - px * by / bx
10-
// a = (py - px * by / bx) / (ay - ax * by / bx)
7+
// py - px * by / bx = a * ay - a * ax * by / bx
8+
// py * bx - px * by = a * ay * bx - a * ax * by
9+
// py * bx - px * by = a * (ay * bx - ax * by)
10+
//
11+
// a = (py * bx - px * by) / (ay * bx - ax * by)
12+
// b = (px - a * ax) / bx
1113
function solve({ ax, ay, bx, by, px, py }) {
12-
const b = (py * ax - px * ay) / (by * ax - bx * ay);
13-
const a = (px - b * bx) / ax;
14+
const a = (py * bx - px * by) / (ay * bx - ax * by);
15+
const b = (px - a * ax) / bx;
1416
if (Math.floor(a) === a && Math.floor(b) === b) return a * 3 + b;
1517
else return 0;
1618
}

0 commit comments

Comments
 (0)