--- /dev/null
+#!/bin/bash
+
+exec 3<input.txt
+depth=0
+horizontal=0
+aim=0
+aim_depth=0
+aim_horizontal=0
+
+while read -a things -u 3; do
+    case ${things[0]} in
+        up)
+            ((depth-=${things[1]}))
+            ((aim-=${things[1]}))
+            ;;
+        down)
+            ((depth+=${things[1]}))
+            ((aim+=${things[1]}))
+            ;;
+        forward)
+            ((horizontal+=${things[1]}))
+            depth_calc=$((things[1]*aim))
+            ((aim_depth+=$depth_calc))
+            ((aim_horizontal+=${things[1]}))
+            ;;
+    esac
+done
+
+echo "horz * depth = $((depth*$horizontal))"
+echo "aimed version = $((aim_depth*$aim_horizontal))"