Source: https://sbelharbi.github.io/otherdocs/teaching2016-2017/anar-ncomplx-sol.pdf