Predict where two moving objects will collide?

We have a very basic enemy in our game that shoots a projectile. The projectile isn’t affected by gravity, it just goes straight forward. The enemy is supposed to shoot at the player, which is an aircraft (so that means it moves with an almost constant speed). The problem is that because the player is moving fast, the projectile can never hit it which makes the enemy pointless. I’ve been reading articles about prediction, but all of them have to deal with collision testing and I don’t really need it. I want to predict where the player is going to be several minutes from the shooting moment so the enemy will know where to shoot.

What is known:
S - The player’s speed
PS - The projectile’s speed
Dir - The player’s movement direction
Dist - the distance between the player and the enemy

The projectile should be fired at player.transform.position + player.transform.forward * X where X is the distance from the player that I’m trying to find. So far we got something but I’m not sure we’re even looking in the right direction:

var targetDistance : float = Vector3.Distance(transform.position, target.position);
var timeToHit : float = targetDistance/100;
var playerEstimation = PlayerControl.shipMove*timeToHit;
var prj : GameObject = Instantiate(projectile, transform.position+transform.forward*3, Quaternion.identity);
pointLook = target.position + target.forward * playerEstimation;

Ok so I got something:

Say the player is moving with speed X and the projectile that is shot is moving with speed Y. We have the distance between the player and the enemy. I can predict in after how much time the projectile and the player will collide given the player and the enemy are exactly in front of each other. How ?
I have the distance: D
I have player’s speed: X
I have projectile’s speed: Y
If I imagine that the projectile is moving with speed of 0 and instead of that the player is moving with a speed of X + Y, then I can get the time of collision:
D = (X+Y)*T => T = D/(X+Y)

However this is not yet helpful to me, because there objects are moving in 3D space and cannot be easily aligned on the same line and we don’t need to do that. That means that the enemy would always be above/below/to the left/to the right of the player and this method for calculating the time wouldn’t work I guess.