#!/usr/bin/env python3 CFS = [1, -1]*5 + [1] def main(cfs): seq = getseq(cfs) py = pyramid(seq) return sum(op(n, py) for n in range(1, len(cfs))) def getseq(cfs): return [sum(c*n**pw for pw, c in enumerate(cfs)) for n in range(1, len(cfs))] def pyramid(seq): r = [seq] for i in range(len(seq)-1): lvl = [] for j in range(len(r[i])-1): lvl.append(r[i][j+1] - r[i][j]) r.append(lvl) return r def op(n, py): return sum(py[i][n-i-1] for i in range(n)) #print(main([0,0,0,1])) print(main(CFS))