aboutsummaryrefslogtreecommitdiff
path: root/aoc2023-other/day-09/day-09-polynomial.rkt
diff options
context:
space:
mode:
authorHJ <thechairman@thechairman.info>2023-12-09 10:05:41 -0500
committerHJ <thechairman@thechairman.info>2023-12-09 10:05:41 -0500
commit7f3c46c9e1aca82cc0a4355e906eac140df26a61 (patch)
tree26eeccff3ec18d79c91ba1fa6245526d77e37ef9 /aoc2023-other/day-09/day-09-polynomial.rkt
parent7c69adbce6f3ab1075039e23c9c04ebd61ec0761 (diff)
downloadgleam_aoc-7f3c46c9e1aca82cc0a4355e906eac140df26a61.tar.gz
gleam_aoc-7f3c46c9e1aca82cc0a4355e906eac140df26a61.zip
day 9 alternate racket solution
Diffstat (limited to 'aoc2023-other/day-09/day-09-polynomial.rkt')
-rw-r--r--aoc2023-other/day-09/day-09-polynomial.rkt13
1 files changed, 13 insertions, 0 deletions
diff --git a/aoc2023-other/day-09/day-09-polynomial.rkt b/aoc2023-other/day-09/day-09-polynomial.rkt
new file mode 100644
index 0000000..31c0d3d
--- /dev/null
+++ b/aoc2023-other/day-09/day-09-polynomial.rkt
@@ -0,0 +1,13 @@
+#lang racket
+
+(require advent-of-code
+ threading
+ simple-polynomial/tools)
+
+(define histories
+ (for/list ([raw-history (in-lines (open-aoc-input (find-session) 2023 9 #:cache #true))])
+ (~>> raw-history string-split (map string->number))))
+
+(for/lists (left right #:result (cons (apply + left) (apply + right)))([history (in-list histories)])
+ (define f (interpolate-at-integer-points history))
+ (values (f -1) (f (length history))))