Table approach
The first table produced in Part 2 showed that we can not only hit the target, we can overshoot it. However, there is a limit to how much we can increase our range by moving back the hill - say with an angle of elevation of Pi/4 radians or 45 degrees. The target will be unreachable beyond this maximum range. Expanding our table from Part 2, we get
Input :=
theta = Pi/4;
Input :=
TableForm[Table[ {k, x[t,k]/.
Solve[ y[t,k]==0,t] [[2]] //N },
{k,0,5000,200} ] ,
TableHeadings->{None,{"x-coord","landing pt"}}]
Output =
x-coord landing pt
0 2812.5
200 2924.34
400 2987.69
600 3019.93
800 3030.02
1000 3023.3
1200 3003.25
1400 2972.31
1600 2932.23
1800 2884.37
2000 2829.75
2200 2769.2
2400 2703.4
2600 2632.89
2800 2558.14
3000 2479.54
3200 2397.43
3400 2312.09
3600 2223.78
3800 2132.71
4000 2039.08
4200 1943.06
4400 1844.81
4600 1744.46
4800 1642.14
5000 1537.97
This tells we can make a projectile land at (3030, 0) by moving our catapult back and up to (-800, 800 Sqrt[3]). This is close to our maximum range. Even if we move the catapult higher, eventually the effect of gravity will accelerate it toward earth before it has a chance to increase its range.
We continue to isolate the optimal placement by focusing in on the interval from 750 to 850.
Input :=
TableForm[Table[ {k, x[t,k]/.
Solve[ y[t,k]==0,t] [[2]] //N },
{k,750,850,10} ] ,
TableHeadings->{None,{"x-coord","landing pt"}}]
Output =
x-coord landing pt
750 3029.24
760 3029.48
770 3029.68
780 3029.84
790 3029.95
800 3030.02
810 3030.05
820 3030.03
830 3029.98
840 3029.89
850 3029.75
From this table (3030.05, 0) would appear to be the farthest point we could hit on the plane where the enemy camps - assuming we still place our catapult so that its angle of elevation with the horizontal is Pi/4 radians or 45 degrees. We get this range by moving the catapult to position (-810, 810 Sqrt[3]).