Also, I would highly encourage you to learn vector algebra. It's one of the most intuitive fields of math and can make a lot of geometric relations really simple to model.
In your example, instead of separate X and Y coordinates, you might have a position and direction vector, plus a scalar (float) for the speed.
sf::Vector2f position = ...;
sf::Vector2f direction = ...;
float speed = ...
The velocity would be the speed multiplied by the direction. The next position would simply be the current position, plus the velocity vector, scaled by the passed time:
sf::Vector2f velocity = speed * direction;
sf::Time passedTime = ...;
sf::Vector2f nextPosition = position + velocity * passedTime.asSeconds();
To get started, maybe look for an introductory course on vectors on the Internet. Regarding API, you can use SFML for the basic types and operations and my library Thor for advanced vector operations.
Thanks for the tip but I'm already quite familiar with vectors, it's just that the author's choice to go against a well-known formula really confused me, but I've got it figured it out thanks to you guys. The conclusions I reached regarding this section:
1. The numerator can be either the difference in the X-axis or the Y-axis, it doesn't matter as long you take care to multiply the variable that represents the object's velocity in that same axis by the gradient(in this case, since the difference in the X-axis in the numerator, then m_BulletDistanceX is multiplied by gradient).
Why is it so? Because the ratio between the velocity in both axes has to be gradient.
2. Which leads me to my second point, the variable ratioXY(bad name if you ask me, because it does NOT represent the ratio between the two axes) is quite pointless and can be exchanged by any other constant or discarded completely. From what I gather, it's here to further control the object's velocity in accordance with the distance it has to travel. Also dividing by (1+gradient) can be exchanged by any other action including gradient or it can be discarded completely if you're not interested in that "extra-control over the value" stuff.
And that's the weird way my brain works, hope this helps anyone and thank you guys so much for your help!!