! 5.12.f90 ! 2024-10-09 ! $Id: 5.12.f90 1.1 2024/11/02 12:08:38 s Exp $ ! df : discount factor ! d : dividend ! r : interest rate ! g : growth rate ! v : value of the company implicit none integer n, i(5),j real(8) d0, d1, d5, df(5), r, g1, g2, v0, v5, v6 ! input n = 5 r = 0.15 g1 = 0.10 ! for the next 5 years g2 = 0.05 ! thereafter d0 = 10000.0 ! calculation do j = 1, n i(j) = j end do d1 = d0 * (1.0 + g1) df(1:n) = 1.0 / (1.0 + r) ** i(1:n) v5 = sum(d1 * ((1.0 + g1) ** (i(1:n) - 1)) * df(1:n)) d5 = d1 * (1.0 + g1) ** (n - 1); v6 = (1.0 + g2) * d5 / (r - g2) / (1.0 + r) ** n; v0 = v5 + v6; ! output print *,'5.12.f90' print '(a5,f10.2)', "r ", r print '(a5,f10.2)', "g1", g1 print '(a5,f10.2)', "g2", g2 print '(a5,i10)', "d0", int(d0) print '(a5,i10)', "d1", int(d1) print '(a5,6f5.2)', "df", df print '(a5,i10)', "v5", int(v5) print '(a5,i10)', "d5", int(d5) print '(a5,i10)', "v6", int(v6) print '(a5,i10)', "v0", int(v0) end