Source: Chocolate Charts
Part 1: Create an infinite stream of numbers, by starting with [3, 7] with two pointers: 0 and 1. To add values to the list:
- Add the current values of the two pointers
- If the value is less than ten, add that value to the end of the list
- If the value is greater or equal to ten, add 1 and then the ones digits to the end of the list
- Update each pointer by adding the value it is pointing at to its current index plus one
With that algorithm, find the ten digits after a given index.