https://www.vuinsider.com/2020/06/mth622-assignment-2-solution-spring-2020.html