# [Jelly], 22 bytes DS=³a³ḍaDṫ³DLC¤Ḍ=³ Ç1# [Try it online!][TIO-jak0702w] **Explanation** Ç1# Main Link Ç Calls first link as a monad 1# Count up and stop when you get first match First Link: DS=³a³ḍaDṫ³DLC¤Ḍ=³ This is what Ç calls D Digits of incremented variable as a list S Sum =³ Equals argument of program? a Logical and ³ḍ Does arg divide incremented variable? a Logical and Dṫ Ḍ Last n digits of inc. var. where n is number of digits in program input ³DLC 1 - (number of digits of program input) ¤ Book ends above nilad =³ Equals program input? When all three conditionals in the first link are met the loop ends and outputs which iteration number it is. This took me many hours to write because I'm learning Jelly but now that I'm done I'm so satisfied. For a long time I didn't realize I needed the `¤` and I just couldn't get it to work. Looking at [this][1] with it's thorough explanation gave me the last piece of knowledge I needed. Lots of other Jelly answers in PPCG helped too. [Jelly]: https://github.com/DennisMitchell/jelly [TIO-jak0702w]: https://tio.run/##y0rNyan8/98l2PbQ5sRDmx/u6E10ebhz9aHNLj7Oh5Y83NEDFOc63G6o/P//f0MjAA "Jelly – Try It Online" [1]: https://codegolf.stackexchange.com/a/149245/75553