{`person(1)` is `A` years older than `person(2)`|`person(2)` is `A` years younger than `person(1)`}.
{For the last {four|3|two} years, `person(1)` and `person(2)` have been going to the same school.|`person(1)` and `person(2)` first met 3 years ago.|}
`Cardinal(B)` years ago, `person(1)` was `C` times {as old as|older than} `person(2)`.

How old is `person(1)` now?

Let `person(1)`'s current age be

.`personVar(1)`

That means that `B` years ago, `person(1)` was

years old.`personVar(1)` - `B`

`person(2)` is

years old right now, so `personVar(1)` - `A``B` years ago, `he(2)` was `(`

years old.`personVar(1)` - `A`) - `B` = `personVar(1)` - `A + B`

`person(1)` was `C` times as old as `person(2)`, so that means

.`personVar(1)` - `B` = `C` (`personVar(1)` - `A + B`)

Expand:

.`personVar(1)` - `B` = `C` `personVar(1)` - `C * (A + B)`

Solve for

to get `personVar(1)`

.`C - 1` `personVar(1)` = `C * (A + B) - B`

.`personVar(1)` = `(C * (B + A) - B) / (C - 1)`

`person(1)` is `A` years older than
`person(2)`. `Cardinal(B)` years ago, `person(1)`
was `C` times as old as `person(2)`.

How old is `person(2)` now?

Let `person(2)`'s current age be

.`personVar(2)`

That means that `person(1)` is currently

years old and `personVar(2)` + `A``B` years ago, `person(1)` was `(`

years old.`personVar(2)` + `A`) - `B` = `personVar(2)` + `A - B`

`Cardinal(B)` years ago, `person(2)` was

years old.`personVar(2)` - `B`

`person(1)` was `C` times as old as `person(2)`, so that means

.`personVar(2)` + `A - B` = `C` (`personVar(2)` - `B`)

Expand:

.`personVar(2)` + `A - B` = `C` `personVar(2)` - `C * B`

Solve for

to get `personVar(2)`

.`C - 1` `personVar(2)` = `A - B + C * B`

.`personVar(2)` = `(A - B + C * B) / (C - 1)`

`person(1)` is `C` times as old as
`person(2)` and is also `A`
years older than `person(2)`.

How old is `person(1)`?

Let `person(1)`'s age be

.`personVar(1)`

We know `person(2)` is `1/`

as old as `C``person(1)`, so `person(2)`'s age can be written as

.`personVar(1)` / `C`

`His(2)` age can also be written as

.`personVar(1)` - `A`

Set the two expressions for `person(2)`'s age equal to each other:

.`personVar(1)` / `C` = `personVar(1)` - `A`

Multiply both sides by

to get `C`

.`personVar(1)` = `C` `personVar(1)` - `A * C`

Solve for

to get `personVar(1)`

.`C - 1` `personVar(1)` = `A * C`

.`personVar(1)` = `A * C / (C - 1)`

`person(1)` is `C` times as old as
`person(2)` and is also `A`
years older than `person(2)`.

How old is `person(2)`?

Let `person(2)`'s age be

.`personVar(2)`

We know `person(1)` is `C` times as old as `person(2)`, so `person(1)`'s age can be written as

.`C` `personVar(2)`

`His(1)` age can also be written as

.`personVar(2)` + `A`

Set the two expressions for `person(1)`'s age equal to each other:

.`C` `personVar(2)` = `personVar(2)` + `A`

Solve for

to get `personVar(2)`

.`C - 1` `personVar(2)` = `A`

.`personVar(2)` = `A / (C - 1)`

`person(1)` is `A` times as old as `person(2)`. `Cardinal(B)` years ago, `person(1)` was `C` times as old as `person(2)`.

How old is `person(1)` now?

Let `person(1)`'s age be

.`personVar(1)`

We know `person(2)` is `1/`

as old as `A``person(1)`, so `person(2)`'s age can be written as

.`personVar(1)` / `A`

`B` years ago, `person(1)` was

years old and `personVar(1)` - `B``person(2)` was

years old.`personVar(1)` / `A` - `B`

At that time, `person(1)` was `C` times as old as `person(2)`, so we can write

.`personVar(1)` - `B` = `C` (`personVar(1)` / `A` - `B`)

Expand:

.`personVar(1)` - `B` = `fractionReduce(C, A)` `personVar(1)` - `C * B`

Solve for

to get `personVar(1)`

.`fractionReduce(C - A, A)` `personVar(1)` = `B * (C - 1)`

.`personVar(1)` = `fractionReduce(A, C - A)` \cdot `B * (C - 1)` = `A * B * (C - 1) / (C - A)`

`person(1)` is `A` times as old as `person(2)`. `Cardinal(B)` years ago, `person(1)` was `C` times as old as `person(2)`.

How old is `person(2)` now?

Let `person(2)`'s age be

.`personVar(2)`

We know `person(1)` is `A` times as old as `person(2)`, so `person(1)`'s age can be written as

.`A` `personVar(2)`

`Cardinal(B)` years ago, `person(1)` was

years old and `A` `personVar(2)` - `B``person(2)` was

years old.`personVar(2)` - `B`

At that time, `person(1)` was `C` times as old as `person(2)`, so we can write

.`A` `personVar(2)` - `B` = `C` (`personVar(2)` - `B`)

Expand:

.`A` `personVar(2)` - `B` = `C` `personVar(2)` - `B * C`

Solve for

to get `personVar(2)``C - A` `personVar(2)` = `B * (C - 1)`

.`personVar(2)` = `B * (C - 1) / (C - A)`

In `B` years, `person(1)` will be `A` times as old as `he(1)` is right now.

How old is `he(1)` right now?

Let `person(1)`'s age be

.`personVar(1)`

In `B` years, `he(1)` will be

years old.`personVar(1)` + `B`

At that time, `he(1)` will also be

years old.`A` `personVar(1)`

We write

.`personVar(1)` + `B` = `A` `personVar(1)`

Solve for

to get `personVar(1)``A - 1` `personVar(1)` = `B`

.`personVar(1)` = `B / (A - 1)`

`person(1)` is `A` years old and `person(2)` is `B` years old.

How many years will it take until `person(1)` is only `C` times as old as `person(2)`?

Let `y`

be the number of years that it will take.

In `y`

years, `person(1)` will be

years old and `A` + y`person(2)` will be

years old.`B` + y

At that time, `person(1)` will be `C` times as old as `person(2)`.

We write

.`A` + y = `C` (`B` + y)

Expand to get

.`A` + y = `C * B` + `C` y

Solve for `y`

to get `C - 1` y = `A - C * B`

`y = `

.`(A - C * B) / (C - 1)`