Strange question. If you don't want to buy a domain, you of course can't host it on your Website. However you can try free domains at freenom. https://freenom.com/en/index.html?lang=en
Be careful though not to make your Website too popular as freenom takes back domains that have added value to them. Also, some hosts don't like free domains. They want you to have a paid TDL.
You can't really do it, in my opinion. I think the rights to own .com or .in registry are auctioned and the company or person who buys it can then sell domain names under his registry.