I have two dogs. No idea of the breed, they're from a shelter. I live in a house with a relatively large garden, on the slope of a forested hill in the middle of town.
The garden would be ideal because my dogs love to run a lot. Unfortunately as we live on a slope, the ground erodes from under the fence, leaving holes through which the dogs can leave the garden. Building a concrete foundation for the fence would be prohibitively expensive.
The forested hill would be ideal too, our previous dogs loved to take long walks and there was no problem letting them off the leash, they would run around and return when called. These two though, they run off into the forest after 2 minutes and it is impossible to follow them. They do not return when called.
When they've disappeared, they usually return home after up to 8 hours of adventuring - chasing cats, entering and exploring other people's gardens, and eating huge amounts of waste food. The only method to teach them not to do this (that I know of) is violent punishment afterwards but it doesn't seem to work.
How could I teach them to stay in the garden and stay close to me when walking?