diff --git a/day09/part3.py b/day09/part3.py new file mode 100644 index 0000000..576d0cb --- /dev/null +++ b/day09/part3.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python3 +import math +from math import comb + +from tqdm import tqdm + +lines = (x.strip() for x in open("input.txt")) +result = 0 + +for line in tqdm(lines, total=200): + numbers = [int(x) for x in line.split(" ")] + combinations = [((idx+len(numbers))%2*2-1) * comb(len(numbers), idx) for idx in range(len(numbers))] + for _ in range(365*5): + numbers.append(sum(factor*val for factor, val in zip(combinations, numbers))) + combinations.append(-1) + combinations = [-combinations[0] if i == 0 else combinations[i-1]-combinations[i] for i in range(len(combinations))] + result += numbers[-1] + +print(result) +print(result == 209183938389133193643668550962121882909751535)