# Project Euler – Problem 73 Solution

#### Problem

Consider the fraction, n/d, where n and d are positive integers. If n<d and HCF(n,d)=1, it is called a reduced proper fraction.

If we list the set of reduced proper fractions for d <= 8 in ascending order of size, we get:

1/8, 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 3/8, 2/5, 3/7, 1/2, 4/7, 3/5, 5/8, 2/3, 5/7, 3/4, 4/5, 5/6, 6/7, 7/8

It can be seen that there are 3 fractions between 1/3 and 1/2.

How many fractions lie between 1/3 and 1/2 in the sorted set of reduced proper fractions for d 12,000?

Note: The upper limit has been changed recently.

#### Solution

```open System.Numerics

// for each d, get the number of proper fractions that lie between 1/3 and 1/2
let getFractionsCount d =
[1I..d-1I]
|> Seq.skipWhile (fun n -> n * 3I <= d)
|> Seq.takeWhile (fun n -> n * 2I < d)
|> Seq.filter (fun n -> BigInteger.GreatestCommonDivisor(n, d) = 1I)
|> Seq.length

// ignoring 1-4, get the number of desired fractions for each dand add them up
let answer = [4I..12000I] |> List.map getFractionsCount |> List.sum
```