title: Improve precision on variables defined by integer quotient
body: <p>Say I have the following program:</p>
  
  <pre><code>program derp
      implicit none
      integer, parameter :: ikind = selected_real_kind(18)
      real (kind = ikind) :: a = 2.0 / 3.0
      print*, a
  end program derp
  </code></pre>
  
  <p>The program <code>derp</code> outputs <code>0.6666666865348815917</code>, which is clearly not 18 digits of precision. However, if I define <code>a=2.0</code> and <code>b=3.0</code> using the same method and <em>then</em> define <code>c=a/b</code> I get an output of <code>0.666666666666666666685</code>, which is good. How do I just define a variable as a quotient of integers and have it store all the digits of precision I want from <code>selected_real_kind</code>?</p>