Somewhat like this:

Let the princess’ current age be X and the prince’s Y.

I chose to start backwards: “when the princess’s age was half the sum of their present ages.” This is a situation in the past, so

Princess(past) = 1/2(X+Y)

As the difference in their ages is constant, a current difference of X-Y would also apply in the past. Note here that X-Y is being considered because the princess is older. The riddle starts with stating that the princess IS how old the prince WILL BE.

Therefore,

Prince(past) +(X-Y) = Princess(past)

“when the princess is twice the age that the prince was”. This situation hints to the future (“when the princesss is”). So,

Princess(future) = 2 x Prince(past)

Therefore, as we know the difference of their ages,

Prince(future) + (X-Y) = Princess(future)

“A princess is as old as the prince will be”. This indicates that the princess’ present age must be equated to the prince’s future age.

Therefore,

Princess(present) = X = Prince(future)

=> X = Princess(future) – (X-Y)

=> X = {2 x Prince(past)} – (X-Y)

=> X = {2 x (Princess(past) – (X-Y))} – (X-Y)

=> X = [2 x {(1/2(X+Y)) – (X-Y)}] – (X-Y)

=> X = [2 x {3Y/2 – X/2}] – (X-Y)

=> X = [3Y – X] – (X-Y)

=> X = 3Y – X – X + Y

=> X = 4Y – 2X

=> 3X = 4Y

=> X = 4Y/3 ~ Y = 3X/4

Or, the Prince is currently 0.75 times the age of the Princess.

]]>