Duality in fractional and indefinite programming