The equation for height isn't going to be linear, it is going to follow the SUVAT equations for any one bounce but we need to know which bounce we are in, so it will have a discrete element to it.
The simple model for an ideal (repetitive) inelastic bouncing object is the initial velocity of each bounce falls by a constant factor, ie Un+1/Un = k. Assume that from the information supplied we can deduce k.
For any given bounce n, given time into that bounce (t) the SUVAT equation for height (s) requires we know the initial velocity (u) for that bounce.
Thus for a given time, we need only need to know which number bounce we are in (n), and then we can find initial velocity for that bounce by U0 k^n.
Note U0 assumes initial projection at time zero rather than dropping the ball but by symmetry U0 is the velocity as the ball first hits the ground at 3 seconds.
Find the time for one bounce, given u;
The time for one bounce is the time between when s = 0 at t = 0 (for that bounce) and when s next equals zero.
So ideally, if we stick s = 0 into the appropriate SUVAT equation, we should get two solutions for t, ie t = 0 and t equals the duration of the bounce.
s = ut + (1/2) at^2 . . . . I've gone to lowercase u for some reason
s = ut - (g/2)t^2
0 = ut - (g/2)t^2
(g/2)t^2 = ut . . . . . [t = 0 is one solution, and when not 0 we can divide by t]
(g/2)t = u
t = 2u/g
Thus if u drops by a constant k each bounce, so does t.
Thus, total time so far T = Sum to n of T0 k^n which is the first n terms of a geometric series.
The sum to n terms of a geometric series is a known formula.
So arrange the formula to make n the subject. It is probably going to involve taking logs.
Again, take care that because the ball is initially dropped we effectively have half a bounce before our first bounce.
The above should allow you find;
The number of bounces at a given time.
The time at the start of that bounce.
The time into that bounce.
The height.