The Dog and the Duck

Time is of the essence with this post so please excuse the strange mix of notations later on. One of my friends sent me this puzzle from fivethirtyeight.com and here is my solution to how the dog needs to catch the duck.
Lots of peoples first instinct is times faster but this is really just a lower bound, i.e. if the dog travels less than π times faster than the duck then the duck can just read radially to the antipoint of the dogs starting position.
There are a few key assumptions here that we can make from the beginning:

The duck is always travelling at its maximum speed: v

The dog always runs in the same direction at a constant speed: xv, where x is a constant

It gains nothing from changing directions

The function giving the dogs position is P(t)

So the dogs speed is given by d/dt(P(t))

The function giving the ducks positon is Q(t)

The pool has radius R

The duck radial speed is always positive (it is always travelling towards the edge) and it never changes it’s rotational direction

I’ll be jumping between Cartesian coordinates (x,y) and polar coordinates (r,θ), probably using the notation
P= ar + bθ rather than brackets but I might change back. from here after a bit of thought we can see that the ducks path can be split into two parts

The period where the duck can remain on the opposite side of the pond to the dog. This is the case until the duck has a radial distance of z. E.g. if P(t)=ar+bθ then Q(t)=cr+(b+π)θ

After this the duck needs to travel radially towards the dogs antipoint when the duck has a radial distance of z.

So the question now becomes: Find z
For this we don’t need to know the ducks path in part (1), although I will calculate it after I’ve found the solution to the first problem.
The dogs position can be given by P(t)=Rr+kvtθ , focusing on the radial element, equating the different measures of the dog’s distance at time t (the angle at time t is ϕ)

R ϕ= kvt,let a=kv/R

⇒ϕ=at

The radial distance of z is reached when the radial part of the duck’s velocity becomes 0 and we know it’s total speed is v. We also. So the ducks Cartesian position is given by

x=z cos(ϕ+π)= -zcos(at) and y=z sin(ϕ+π)=-z sin(at)

(the ducks angular position of ϕ+π isn’t needed here but comes in useful later)
Differentiating these gives

dx/dt= azsin(at)-cos(at) dr/dt,and dy/dt= -az cost(at)-sin(at)×dr/dt

We know that v^2=(dx/dt)^2+(dy/dt)^2 therefore

v^2=a^2 z^2+(dr/dt)^2,(dr/dt)=0

⇒v=az,a=kv/R

⇒z=R/k

At this point the duck now takes the quickest route to the edge towards the point directly opposite the dog. This radial distance =R-z=R(k-1)/k at speed v. So it takes the time
time=R(k-1)/kv
The dog needs to travel a half circumference Rπ at speed kv so it takes time

Rπ/kv

Equating these gives

Rπ/kv=R(k-1)/kv

⇒k=π+1

And that’s the solution to the problem π+1.

Done.
Sorry about poor equation display, I didn’t realise that it was difficult to copy equations from word to wordpress.

Edit: It turns out that the above solution isn't the complete picture and the optimal solution is:

When the duck reaches the edge of the optimal circle it carries on with the same angular speed but now as a chord running to in a straight line to the edge of the pool.