Lets say someone else generates 100 bitcoin addresses using the same private key. If know one of the public addresses, can I deduce the other 99 public addresses?
2 Answers
Public keys are generated from a Private key in a one-way function. Public and private keys have a 1-to-1 relationship. A given private key can only generate one public key.
However, as specified in BIP 32, extended keys can be used to derive child keys (public keys). An extended private key (xprv) can derive many child private keys, each of which can derive a single public key.
This child key derivation (CKD) function is a one-way function, so child keys cannot be used to calculate their parents. Nor can child keys be used to calculate their sibling public keys.
Check out this article on wallets and public/private keys for more info and a visual explanation: https://river.com/learn/terms/h/hd-wallet/
Check out BIP 32, which has some useful graphics: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
Relationship between private and publiic keys is ( in practicality ) unidirectional and 1:1 so given an algorithm; a private key will always, generate the same public key.
There's an advanced concept, that has to do with your question and is deterministic wallets. Here private keys are created from a seed and there are scenarios where you could guess them from knowing one; but you would need to know the private key, not the public.