Here is some information for your research project:
It is easy to calculate the public key from the private key. The formula is PublicKey = PrivateKey * G where G is a specific point on the specified elliptic curve and * is the scalar multiplication defined over the finite group of the elliptic curve.
For all practical purposes it is impossible to calculate or even estimate the private key from the public key because there is no "division operation" defined for the group.
That is what makes Bitcoin work.
If you could calculate or even estimate the private key from the public key then anyone could calculate anyone's private key from their public key and anyone could steal anyone's Bitcoins.
If anyone ever figures out how to calculate or estimate the private key from the public key then Bitcoin and a plethora of other system worldwide would all be catastrophically broken.
In other words it is impossible to do what you ask even when you give us 10,000,000 Bitcoin addresses.