C
There are interesting analytical observations to be made about the problem to sidestep most of the actual iteration, but I wasn't up to working it all out and the runtime was pretty much instant anyway.
Here's my original solution with ints, using divions with powers of 10 to do the splitting: day02-u64.c
But I'm only doing the C implementations to prototype my assembly solutions, and dealing with 64-bit numbers, especially divisions, on x86-16 is painful, so I rewrote the solution using a fixed-length string "numbers" instead: day02.c
Still working on the assembly version
Assembly update: have part 1 working now! It's dog slow on DOSBox, but on QEMU it's good: day02.asm